将我的第一个Blazor解决方案移至Azure-构建仍指向本地数据库

问题描述

我刚刚将我的第一个Blazor解决方案加载到Azure。使用Visual Studio,我在具有两个数据库的本地笔记本电脑上进行了开发。一个用于安全性,另一个用于数据。

我已将所有内容成功部署到创建的免费Azure服务中,并且本地版本从联机Azure数据库读取数据。但是当我在线运行该应用程序时,它出现了一个错误。在浏览器终端上,似乎在线系统期望数据库位于我的本地计算机上。

构建时:

1> ------构建开始:项目:ContakLibrary,配置:释放任何CPU ------

2> --------构建开始:项目:ContakDB,配置:释放任何CPU ------

2> ContakDB-> C:\ Users ... \ VisualStudioDevProjects \ ContakProject \ ContakDB \ bin \ Release \ ContakDB.dll

2> ContakDB-> C:\ Users ... \ VisualStudioDevProjects \ ContakProject \ ContakDB \ bin \ Release \ ContakDB.dacpac

浏览器中的错误摘录:

blazor.server.js:19 [2020-08-11T20:21:04.671Z]错误:System.Data.SqlClient.SqlException(0x80131904):找不到存储过程'dbo.spLandingSiteGet'。

...

位于/_/Dapper/SqlMapper.Async.cs:第419行中的Dapper.SqlMapper.QueryAsync [T](IDbConnection cnn,类型有效类型,CommandDefinition命令)

在ContakLibrary.DataAccess.SqlDataAccess.LoadData [T,U](字符串storageProcedure,U参数,字符串connectionStringName)在C:\ Users ... \ VisualStudioDevProjects \ ContakProject \ ContakLibrary \ DataAccess \ SqlDataAccess.cs

任何帮助将不胜感激。

谢谢。

解决方法

更新

请确保localdb和azure sql数据库中的表结构,函数和存储过程一致。

重要

您需要在项目中找到Connection strings。应该在.config.json文件中找到它。不是在代码中进行硬编码。

然后,您可以在门户中添加新的连接字符串,并设置生产环境的值。

enter image description here

门户网站中的设置比项目配置文件中的设置具有更高的优先级。这有助于本地调试并保护生产环境的数据库安全性。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...