让我解释一下我们在做什么。我们有一个API,它为我们的Web应用程序做了很多事情。其中一个调用是更新数据,为此我们需要调用外部API。作为一个测试平台,我们只是确保外部API在Web应用程序中被调用。这在本地工作,但一旦我把它放在IIS上,它就停止工作了。有人能给我指出正确的方向吗?调用外部API的例程也将位于API本身中,而API将位于IIS上。
下面是我们如何调用外部API:
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.SendAsync(request);
var body = response.Content.ReadAsStringAsync();
字符串
显然,请求是由头部和内容组成的,因为我们正在为它提供信息,如URL和此特定调用所需的其他内容,再次,如果我们在本地运行它,一切都很好,即使我们向它发送了错误的信息,我们至少可以看到它尝试了调用。(因为它是在自己的类中,在另一个项目中所以是一个dll)是在IIS上它甚至不尝试调用API。
任何帮助感激不尽。
1条答案
按热度按时间egmofgnx1#
API在本地环境下可以正常使用,但在IIS环境下无法调用。如果调用API时没有报错,但API没有响应,可以尝试在web.config中配置:
字符串
另外,因为你的API可以同时更新数据,所以默认的更新和删除都是不安全的,因为不安全。想象一下,用户可以删除或者更新数据,但是一次请求删除或者更新服务器的所有数据是不合理的,但是你可以通过简单的配置来接收更新删除的请求,如下图:
型
当然,在IIS环境下是无法调用API的,可能是因为IIS账号权限的问题,可以在IIS中重新输入Administrator账号密码,重新启动应用解决方案。
如果上述方法仍然不起作用,请让我知道