过去一个月我一直在研究一个网络应用程序,现在是时候将它部署在真正的Windows服务器上。问题是,一旦我部署了我的默认localdb代码,首先SQL数据库不再适用于此代码:
[SqlException(0x80131904):建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:50 - 发生本地数据库运行时错误。无法创建自动实例。请参阅Windows应用程序事件日志以获取错误详细信息。 )]
来源错误:
Line 11: var manager = new UserManager();
Line 12: var user = new ApplicationUser() { UserName = UserName.Text };
Line 13: IdentityResult result = manager.Create(user, Password.Text);
Line 14: if (result.Succeeded)
Line 15: {
我的web.config字符串:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=aspnet-projecttwo-80a6f83e-fca9-45c3-869f-c5c625497346;AttachDbFilename=|DataDirectory|\aspnet-projecttwo-80a6f83e-fca9-45c3-869f-c5c625497346.mdf;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
</connectionStrings>
它如此令人沮丧我有点失落,我不想从头开始构建我的登录和注册我只想使用Visual Studio 2017中提供的那些,并且没有最新的教程如何去做。
我的计算机上安装了SQL Express并且当前正在运行。
答案 0 :(得分:1)
有可能解决LocalDB
实例问题的解决方案:
1)如果数据库已经创建(由AttachDbFilename=|DataDirectory|\aspnet-projecttwo-80a6f83e-fca9-45c3-869f-c5c625497346.mdf
给出),请删除该部分,使其仅包含下面显示的Initial Catalog
。
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=aspnet-projecttwo-80a6f83e-fca9-45c3-869f-c5c625497346;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
</connectionStrings>
2)如果您怀疑应用程序存在与权限相关的问题,请将MVC应用程序的IIS应用程序池设置为LocalSystem
或NetworkService
ApplicationPoolIdentity
。
3)找出\%WinDir%\System32\inetsrv\config\applicationHost.config
文件并启用setProfileEnvironment="true"
(之后重启应用程序池):
<!-- use application pool name depending which pool that your MVC site used -->
<add name="DefaultAppPool" ...>
<processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="true" />
</add>
进一步参考:
类似问题: