【发布时间】: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