使用RestSharp时(在IIS中)没有响应结果

这个问题困扰了我很长时间。

我写了一个asp.net项目,并使用RestSharp发布我的请求,以授权用户是否可以login该站点。

以下是调用授权服务器的方法的代码

public static async Task<UserInfo> ValidatorResult(string userName, string passWord) { var client = new RestClient(AuthUrl.BaseUrl); var request = new RestRequest(AuthUrl.LoginURL, Method.POST); //client.Proxy = new WebProxy("127.0.0.1", 8888); request.AddParameter(InformationDefine.CLIENT_ID_ID, InformationDefine.CLIENT_ID); request.AddParameter(InformationDefine.CLIENT_SECRET_ID, InformationDefine.CLIENT_SECRET); request.AddParameter(InformationDefine.GRANT_TYPE_ID, InformationDefine.GRANT_TYPE_PASSWORD); request.AddParameter(InformationDefine.MAIL_ID, userName); request.AddParameter(InformationDefine.PASSWORD_ID, passWord); var response = await client.ExecuteTaskAsync<UserInfo>(request); return response?.Data; } 

这是我的授权服务器的地址常量:

 class AuthUrl { public const string BaseUrl = @"https://account.mysit.com.cn"; public const string LoginURL = @"/api/oauth/access"; } 

当我在本地环境中使用这些代码时,我可以得到正确的UserInfo,但是当我将这个项目发布到IIS服务器时,当我调用这个方法时,我总是得到500个代码。

错误是“response?.Data”为空。

我想解决这个问题,我尝试了很多方法,但都失败了。

我想在IIS中得到原因,所以我添加了一个行代码

 client.Proxy = new WebProxy("127.0.0.1", 8888); 

当我打开提琴手时,有时我可以得到UserInfo,但是当我closures提琴手时,错误又出现了,这真是太神奇了。

你能告诉我为什么吗?

以及如何解决这个问题。

谢谢。

Ps我忘了一个细节,在IIS中,mysite的绑定域不在下面的种类“localhost”或“ip:port”中。

我有一个像“hai.xxxxx.co”的另一个主机名,我的网站地址是“hai.xxxxx.co:8088”。