【问题标题】:Error 500 when deploying site from localhost to IIS将站点从 localhost 部署到 IIS 时出现错误 500
【发布时间】:2019-07-30 07:43:58
【问题描述】:

我终于想将我的 asp.net WebApi 部署到 IIS 10。 该站点在 localhost 上运行完美,但一旦我尝试执行与数据库相关的任何操作,就会收到内部服务器错误 (500)。

我检查了连接字符串,它似乎是正确的。 我在 SQL Server 上为 Domain\MachineName$ 添加了一个用户。

我的连接字符串:

<add name="myDB" connectionString="data source=correctserver;initial catalog=correctdatabase;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />

其中一个失败的请求:

var request = new XMLHttpRequest()
request.open('GET', hostedserverurl + '/v1/correctapicall/' + correctrequestparameter, true)

错误发生在这里:

request.send()

预期结果:如果使用直接 API 调用,则与来自本地主机的 JSON 相同。 实际结果: 错误消息:(“Fehler”是德语中“错误”的意思)

{"Message":"Fehler"}

我在这方面花了很长时间,现在我已经走到了终点。但它似乎更像是一面完成墙...... 我需要配置什么?我没有设置任何特别的东西。

编辑: 在 webconfig 的帮助下启用更广泛的错误消息后,我能够得到这个内部异常:

"ExceptionMessage": "Die SELECT-Berechtigung wurde für das __MigrationHistory-Objekt, correctdatabase-Datenbank, dbo-Schema, verweigert.",
      "ExceptionType": "System.Data.SqlClient.SqlException",

这让我相信这是与用户权限相关的事情......但我已经为 IIS 创建了一个用户。

【问题讨论】:

    标签: sql-server iis asp.net-web-api2 web-deployment


    【解决方案1】:

    我每次复制生产数据库时都会得到这个,将其重命名为我的开发数据库,​​忘记将我的开发用户添加到新的开发数据库 - EF 尝试做的第一件事(当你执行任何数据库时action) 是建立存在/设置迁移历史表 - 如果它使用的用户没有权限或不存在,则会发生这样的错误

    确保运行应用程序池的登录名/用户对存在于数据库中。如果您的 IIS 应用程序池名为 Wiggle,那么您需要在数据库中为 [IIS APPPOOL\Wiggle] 创建一个登录/用户对,并确保该用户有权创建表、执行所有 CRUD 操作等

    您可以在 IIS 管理器中查看您的站点正在使用哪个应用程序池;选择网站,然后点击右上角的基本设置

    ps;如果这仍然无法解决,您应该发布一些您设置站点的配置页面、站点的应用程序池(以及它使用的本地身份)和 SQL 服务器用户的屏幕截图。不要像我在这里一样模糊它们,因为我们需要看到它们来检查它们的设置:

    网站设置:

    应用程序池设置:

    SQLS 设置:

    【讨论】:

    • 我在第 1 步失败:实际创建用户。我没有单击搜索按钮,我只是右键单击确定。错误 15401
    • 您说的是I added a user for Domain\MachineName$ on SQL Server.,但这可能不是生产服务器尝试登录时sql服务器看到的用户名。使用集成安全性时,SQLS会看到与应用程序池的帐户凭据相关的用户名运行网站。因为这些东西可以通过多种方式进行配置,所以我们确实需要查看您的设置图像以提供进一步帮助。我也对您断言右键单击 OK 按钮会做某事感到困惑;您的鼠标按钮是否交换了?在我的经验中,右键单击按钮通常没有任何作用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-24
    • 2020-07-01
    • 2023-03-29
    • 1970-01-01
    • 2019-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多