gpt4 book ai didi

asp.net-mvc - MVC 4 中 SQL Server Express 数据库文件自动创建错误 - 但我不想使用 SQL Server Express

转载 作者:行者123 更新时间:2023-12-02 20:46:31 25 4
gpt4 key购买 nike

我刚刚在 ASP.Net MVC 4 中部署了一个新应用程序。我使用的是 SQL Server 2008 R2(不是 SQL Express)。

前 10 分钟效果很好,然后我对代码做了一些更改并重新部署了它。

现在,每当我尝试访问使用 SimpleMembership 的页面时,都会收到此错误:

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

SQLExpress database file auto-creation error:
The connection string specifies a local Sql Server Express instance using a database location within the application's App_Data directory. The provider attempted to automatically create the application services database because the provider determined that the database does not exist. The following configuration requirements are necessary to successfully check for existence of the application services database and automatically create the application services database:

但是,我使用 SQL Server Express。在我的 web.config 中,我已将所有连接字符串设置如下:

<add name="ApplicationServices" 
connectionString="Server=myServer;Database=myDB;User Id=myUserID;Password=myPWD;"
providerName="System.Data.SqlClient" />

<add name="ApplicationServices"
connectionString="Server=myServer;Database=myDB;User Id=myUserID;Password=myPWD;"
providerName="System.Data.SqlClient" />

为什么它不断尝试创建 SQL Server EXPRESS 数据库?

最佳答案

当我遇到这个错误时,结果发现很简单。我终于发现在我的 _Layout.cshtml 中我引用了 User.IsInRole("role")但在Request.isAuthenticated之后。我的代码看起来像 @if (Request.isAuthenticated && User.IsInRole("role")) 。所以基本上如果我没有登录主页就会呈现,因为它不会遍历到 IsInRole()调用(这需要初始化简单的成员资格,否则我会收到您在此处提到的错误。所以基本上我需要确保每个使用扩展 _Layout 文件的 View 并可能拥有未经身份验证的用户的 Controller 都需要a [InitializeSimpleMembership] 。或者初始化简单成员资格的各种方法之一。

所以类似

namespace ProjectName.Controllers
{
[InitializeSimpleMembership]
public class HomeController : Controller {
...

此外,我经常使用 Ctrl + F5 启动应用程序,然后使用“重建解决方案”。当我刷新不是根主页的页面时,我会收到错误,直到调用根主页为止。那时,一切都会重新开始工作。

希望这会对您或某人有所帮助。我撞了头至少一两个小时。

关于asp.net-mvc - MVC 4 中 SQL Server Express 数据库文件自动创建错误 - 但我不想使用 SQL Server Express,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15889792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com