【问题标题】:Publishing Asp.Net Core to IIS 7.5 LocalDb Error (Development Mode)将 Asp.Net Core 发布到 IIS 7.5 LocalDb 错误(开发模式)
【发布时间】:2020-02-04 22:04:31
【问题描述】:

我在 IIS 7.5 上发布了一个 asp.net core 2.0 Web 应用程序,如果坚持主页,它可以正常工作。 当我们要访问数据库时,它会显示这个错误

Screenshot of Error

我也这样做了,但仍然存在错误, " "

数据库:本地数据库

还将应用程序池配置为本地数据库,但问题仍然存在。

谢谢,

【问题讨论】:

    标签: asp.net-core localdb access-denied


    【解决方案1】:

    抱歉,您遇到了这个问题。您能否像在上面分享的错误页面一样分享详细的异常?如果你可以的话。这将有助于快速解决此问题。

    更重要的是,您可能需要执行以下操作:

    • 确保您已安装 ASP.NET Core 托管捆绑包。我认为您已经完成了,因为您的应用运行并显示主页。
    • 因此,将应用程序的 IIS 应用程序池添加为 DB Login,使用 DB 所有者权限。
    • 检查您要部署的环境的数据库连接字符串。在这种情况下,我认为它不是开发。

    在您的 Startup.cs 文件中也这样做。

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
      if(env.IsDevelopment())
      {
        app.UseDeveloperExceptionPage();
        app.UseDatabaseErrorPage();
      }
    }
    

    这应该有助于向您显示更详细的错误。另外,如果它不起作用,试试这个

    在 Microsoft SQL Server Management Studio 中,在 Security -> Logins 中创建一个新用户(在与“Databases”文件夹相同的嵌套级别中)。用户必须具有与 IIS 服务器中的应用程序池类似的名称。像我上面建议的那样给它 DB Owner 权限。

    我希望这会有所帮助,请在评论部分告诉我。

    【讨论】:

      【解决方案2】:

      首先,您需要添加环境病毒 ASPNETCORE_ENVIRONMENT 并将其值设置为 Development,然后我们才能知道您的确切异常消息是什么。

      此外,您的数据库是什么? SQL 服务器,MySql。

      如果您使用的是 sql 数据库并且您的连接字符串指定登录为 sql 用户,请确保您的应用程序池正在使用该用户连接数据库

      【讨论】:

        猜你喜欢
        • 2016-07-27
        • 1970-01-01
        • 2021-01-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多