我已经设法解决了这个问题,但我需要帮助理解它,因为我不喜欢这个解决方案。
我有一个向 Azure REST API 服务发出 HttpWebRequest 的 WCF 服务。但是,当调用这行代码时
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
返回 403 Forbidden 错误。内容长度为 0,错误代码和描述都说“禁止”。
现在,如果我将代码复制到控制台应用程序中,它可以正常工作。所以这让我相信它归结为应用程序池标识中的权限。
果然,如果我将应用程序池的身份更改为自己,我的代码就开始工作了。
我的问题是如何授予内置ApplicationPoolIdentity帐户的权限,以便我可以执行 HttpWebRequest?