首页 > 解决方案 > 发生 IIS Web 服务错误 - 可能与 CORS 相关

问题描述

我遇到了一个与 IIS 相关的奇怪问题。我开发了一个在 DOTNET4.6 上运行的 ASP.NET Web API。当从不同的系统调用此 API 时,它会在其主体中接收一个 json 有效负载。然后它获取该信息并使用个人访问令牌调用 api.github.com 上的 GitHub API,以便为我创建一个存储库。

上面的大纲可能与情况无关,但问题在于:

问题

在调试模式下运行时,此 API 按预期工作。我可以做邮递员 POST 请求,所有操作都按预期完成,我可以在 GitHub 上看到我的新仓库。

发布服务并将其移动到我们的 IIS 服务器之一时。事情开始变得混乱和烦人。执行 POST 请求会导致 json 响应 {"message":"An error has occurred"}。我知道这是在我的代码到达之前发生的事实,这些不是我的错误处理消息之一。响应是 500 内部服务器错误。

我试过的

我尝试以不同方式运行请求来调查问题的根源。IIS 日志什么也没给我。

我在 Chrome 开发者控制台中运行了以下请求:

var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({"timestamp":1589452400243,"webhookEvent":"item_created"});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://myiisserver/Integration/api/GitRepoSetu?clientid=aclientid&clientsecret=aclientsecret", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

不幸的是,这会产生相同的结果,并且没有任何有用的信息。只有一个 500 内部服务器,一条消息说明“发生错误”

谁能指出我在哪里可以找到实际情况的指示的正确方向?以前,我遇到了 CORS 策略问题,并尝试通过安装 CORS NuGet 包并在我的 Controller 上对其进行配置来解决这些问题。cors 错误仅在 chrome 开发控制台中引发,而从未在邮递员中引发。我正在努力解决这个问题。

标签: asp.netiisasp.net-web-api

解决方案


推荐阅读