首页 > 解决方案 > 将我的第一个 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.QueryAsync[T](IDbConnection cnn, Type EffectiveType, CommandDefinition command) in /_/Dapper/SqlMapper.Async.cs:line 419

在 C:\Users...\VisualStudioDevProjects\ContakProject\ContakLibrary\DataAccess\SqlDataAccess.cs 中的 ContakLibrary.DataAccess.SqlDataAccess.LoadData[T,U](String storedProcedure, U parameters, String connectionStringName)

任何帮助将不胜感激。

谢谢。

标签: visual-studioazure-web-app-serviceblazor-server-side

解决方案


更新

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

私人的

你需要Connection strings在你的项目中找到。它应该在.config.json文件中找到。代码中没有硬编码。

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

在此处输入图像描述

Portal中的设置优先级高于项目配置文件中的设置。这有助于本地调试,保护生产环境的数据库安全。


推荐阅读