将Asp.Net Core发布到IIS 7.5 LocalDb错误(开发模式)

问题描述 投票:1回答:2

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

Screenshot of Error

我也已经做到了,但仍然存在错误,“”

数据库:LocalDB

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

谢谢,

asp.net-core localdb access-denied
2个回答
0
投票

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

更多,您可能想要执行以下操作:

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

在您的Startup.cs文件中也执行此操作。

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

这应该有助于向您显示更详细的错误。另外,如果无法使用,请尝试此操作

在Microsoft SQL Server Management Studio中,在“安全性”->“登录名”中创建一个新用户(与“数据库”文件夹处于同一嵌套级别)。用户必须具有与IIS Server中的应用程序池类似的名称。像我上面建议的那样,授予数据库所有者权限。

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


0
投票

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

此外,您的数据库是什么? SQL Server,MySQL。

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

© www.soinside.com 2019 - 2024. All rights reserved.