如何解决将我的第一个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
文件中找到它。不是在代码中进行硬编码。
然后,您可以在门户中添加新的连接字符串,并设置生产环境的值。
门户网站中的设置比项目配置文件中的设置具有更高的优先级。这有助于本地调试并保护生产环境的数据库安全性。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。