部署用户信息数据库

时间:2014-12-15 13:25:34

标签: c# asp.net-mvc web-deployment asp.net-authentication

我使用内置的个人用户身份验证创建了一个简单的ASP.NET MVC应用程序 当我开始本地调试(使用带有iisExpress的VS2013)时,我可以完美地注册和登录新用户。

然后,我使用VS Publish选项将项目部署到Somee.com免费托管,并手动部署App_Data文件夹。 在这里,我可以看到页面和webAPI操作,但我无法注册或登录用户,我收到了错误:

  

[Win32Exception(0x80004005):系统找不到指定的文件]

     

[SqlException(0x80131904):建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:52 - 无法找到本地数据库运行时安装。验证是否已正确安装SQL Server Express并且已启用本地数据库运行时功能。)]

     

System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject,UInt32 waitForMultipleObjectsTimeout,Boolean allowCreate,Boolean onlyOneCheckConnection,DbConnectionOptions userOptions,DbConnectionInternal& connection)+414
  ......
  ......

我认为是因为它无法找到包含用户数据的.mdf,或者iis无法读取它,但我该如何解决? 我是否必须在SqlServer数据库上设置用户表而不是使用本地mdf?

发布我的代码毫无用处,因为我还没有改变视觉工作室模板的一行。
谢谢!

2 个答案:

答案 0 :(得分:1)

模板使用SQL Server的本地数据库功能,该功能需要在计算机上安装SQL Server(使用VS,您的开发计算机上会自动安装SQL Server Express)。

在我看来,您应该设置一个SQL Server(Express应该暂时执行此操作)并更改web.config中的连接字符串以指向新的SQL Server(或者在部署时保留原来的SQL Server数据库与网站相同的机器。)

如果您使用VS的发布功能,则在查看配置时,如果数据库位于远程计算机上,本地数据库将无法正常工作,则应在向导中获得提示。

答案 1 :(得分:0)

  

"数据源= ....;初始目录= ....;集成安全性= ..."

使用数据库提供的字符串进行更改。它应该是这样的;

  

" workstation id = .....; packet size = ....; user id = ....; pwd = ....; data   source = ....; persist security info = False; initial catalog = ....."   此外,如果它是第一次这样做,你可以遇到很多错误,很容易在互联网上找到