在开发机器上运行azure web app时出现数据库访问错误

rob*_*ert 4 c# sql-server asp.net-mvc azure ef-code-first

我在Visual Studio 2012中有一个解决方案,其中包含一个azure项目和一个MVC Web项目等.Web项目正在使用Entity Framework Code First.数据库是localdb.如果我将Web项目设置为启动项目,它在本地运行正常.Code First更改传播到数据库,并且在调试时应用程序运行正常.如果我将azure项目设置为在app面料下本地运行的启动项目,则在登录应用程序并首次点击数据库时会收到以下错误.应用程序在部署到azure时运行正常.我可以通过SQL Server Management Studio在本地访问数据库.当Web应用程序设置为启动项目时,应用程序可以正常访问数据库.我认为它可能是数据库权限,因此我将localdb的连接字符串更改为不使用可信连接,并使用sysadmin权限在本地数据库中创建新登录.同样的错误.

这是连接字符串:

connectionString="Data Source=(localdb)\v11.0;Initial Catalog=[Database Name];User ID=[User Name];Password=[Password];Integrated Security=False; MultipleActiveResultSets=True;"
Run Code Online (Sandbox Code Playgroud)

这是错误:

建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供程序:SQL网络接口,错误:50 - 发生本地数据库运行时错误.无法创建自动实例.请参阅Windows应用程序事件日志以获取错误详细信息.

Mar*_*tin 5

我有类似的错误.查看应用程序事件日志,我可以看到我有两个不同的错误重复.我用谷歌搜索了他们,发现这篇博文描述了一个解决方案.显然,在Windows 7 SP1,你必须编辑的applicationHost.config在%WINDIR%\ SYSTEM32\INETSRV \设置\和发现变化

<add name="ASP.NET v4.0" managedRuntimeVersion="v4.0" />
Run Code Online (Sandbox Code Playgroud)

<add name="ASP.NET v4.0" autoStart="true" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated">
<processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="true" />
</add>
Run Code Online (Sandbox Code Playgroud)

我做了这个,它仍然无法正常工作.我看到我有使用GUIDS命名的网络服务,我向它们添加了相同的属性.在我回收所有应用程序池后,问题得以解决.

希望这可以帮助.也许有更多知识的人可以解释这一切背后的原因.