c# - 在本地计算机中使用 Azure 移动服务进行开发[.Net 后端]

标签 c# azure azure-mobile-services

我正在使用 Azure 移动服务开发云服务,为了快速测试和调试它,我想将其部署在我的本地计算机上。我选择该项目,按 F5,让它在本地 PC 的 IIS Express 中运行。我针对 IIS 服务的本地 URI 地址执行客户端,当我尝试插入值时,如果我尝试检索或插入新对象,则会出现此异常:

An exception of type 'System.ArgumentException' occurred in EntityFramework.SqlServer.dll but was not handled in user code 

Additional information: The database name 'TR_MyTrip_Server_ExtraData_Service]_Persons_InsertUpdateDelete' is invalid. Database names must be of the form [<schema_name>.]<object_name>.

我调试了 Controller 的初始化,发现移动服务在 ServiceContext 对象的 DataBase 属性上部署了一个具有此连接信息的 LocalDb 实例:

Data Source=(localdb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-MyTrip.Server.ExtraData.Service-20140731060708.mdf;Initial Catalog=aspnet-TestProject.Server.ExtraData.Service-20140731060708;Integrated Security=True;MultipleActiveResultSets=True

如果我尝试通过 SQL Management Studio 使用此连接字符串连接到 LocalDB,则无法找到此数据库

我可以使用 SQL 管理工作室在 CMD 上运行此命令并检索 LocalDB 的连接来访问 LocalDb 实例

SqlLocalDB.exe info v11.0

无论如何,在 SQL Management Studio 上我看不到任何与我的移动服务 Controller 相关的数据库。我在谷歌上搜索,我找到的唯一相关链接是 this但不起作用...有人知道发生了什么事吗?

非常感谢

最佳答案

当您的项目名称中包含句点时,就会出现问题。就像 TestProject.Server.ExtraData.Service 一样。

要解决此问题,请进入 web.config 并编辑名为“MS_MobileServiceName”的应用程序设置,删除句点。这是用作数据库中移动服务表的 SQL 架构名称的值。其中不能包含句点或其他特殊字符。

我通常尝试使其与我将部署到的移动服务的名称相同,但这在技术上不是必需的。

关于c# - 在本地计算机中使用 Azure 移动服务进行开发[.Net 后端],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25647447/

相关文章:

c# - Simple.OData.Client 错误 : No property or association found for Context

c# - 应用程序在关闭监听端口时挂起

azure - 如何使用逻辑应用程序从二进制输出将文件另存为 pdf

azure - 如何通过 Python API 从 azure 数据湖高效下载整个目录?

node.js - Azure 应用服务(移动应用)的共享代码

c# - Linq 复合选择

Azure WebJob ProcessQueueMessage 无法读取 CloudQueueMessage

Azure移动服务: where is application key

azure - Monodroid 与 Windows Azure 移动服务

c# - 从具有重复项的列表创建字典