我在Visual Studio中创建了一个ASP.NET Web应用程序 - Azure移动应用程序项目。我没有修改任何东西,所以它有默认的待办事项控制器。如果我在本地运行程序并使用REST客户端请求GET操作
本地主机:端口/表/的TodoItem
标题ZUMO-API-VERSION设置为2.0.0,一切都很完美。我将应用程序发布到Azure,当我尝试从中请求GET操作时
my link.azure websites.net/tables/to do item
标题ZUMO-API-VERSION设置为2.0.0我得到(大约1分钟后)“500内部服务器错误”,并显示消息“发生了错误”。如果我不添加标题,我几乎立即得到“400 Bad Request”,说我必须指定API版本。难道我做错了什么?是什么导致了这个问题,我该如何解决?
发生错误的原因是Azure为后端创建的默认项目旨在与SQL一起使用。您可以利用KUDU或Azure App Service Editor检查web.config文件下的MS_TableConnectionString
连接字符串。 connectionstring看起来像这样:
<add name="MS_TableConnectionString" connectionString="Server=tcp:{your_dbservername}.database.windows.net,1433;Initial Catalog={your_dbname};Persist Security Info=False;User ID={your_username};Password={your_password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" providerName="System.Data.SqlClient"/>
通过Visual Studio将移动应用程序部署到Azure时,需要将连接字符串指向Azure数据库,如下所示:
有关创建移动应用程序并将其部署到Azure App Service的更多详细信息,请参阅此document。此外,您可以利用Web应用程序刀片下的“所有设置>应用程序设置”来配置您的连接字符串,这可能会在运行时覆盖您的web.config文件中的现有连接字符串。有关更多详细信息,您可以关注此官方tutorial。
配置完成后,您将运行良好。 此外,您可以关注Adrian Hall的书籍here,以便更好地理解和快速启动Azure移动应用程序。