1

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

然后我使用 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 DB 上设置用户表而不是使用本地 mdf?

发布我的代码是没有用的,因为我没有更改任何一行 Visual Studio 模板。
谢谢!

4

2 回答 2

1

该模板使用 SQL Server 的 Local DB 功能,这需要在机器上安装 SQL Server(使用 VS,您的开发机器上会自动安装 SQL Server Express)。

在我看来,您应该设置一个 SQL Server(Express 目前应该这样做)并更改 web.config 中的连接字符串以指向新的 SQL Server(或者在将数据库部署到与网站相同的机器)。

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

于 2014-12-15T14:06:26.970 回答
0

“数据源=....;初始目录=....;集成安全=...”

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

"工作站id=.....;数据包大小=....;用户id=....;pwd=....;数据源=....;持久安全信息=False;初始目录= .....”此外,如果这是第一次这样做,您可能会遇到很多无法在互联网上轻松找到的错误

于 2014-12-16T21:28:53.357 回答