C# 使用RestSharp(在IIS中)时没有响应结果
这个问题困扰了我很长时间 我编写了一个asp.net项目,并使用RestSharp发布我的请求,以授权用户是否可以登录该站点 下面是调用授权服务器的方法的代码C# 使用RestSharp(在IIS中)时没有响应结果,c#,asp.net,.net,asp.net-mvc,iis,C#,Asp.net,.net,Asp.net Mvc,Iis,这个问题困扰了我很长时间 我编写了一个asp.net项目,并使用RestSharp发布我的请求,以授权用户是否可以登录该站点 下面是调用授权服务器的方法的代码 public static async Task<UserInfo> ValidatorResult(string userName, string passWord) { var client = new RestClient(AuthUrl.BaseUrl); var request = new RestR
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;
}
当我在本地环境中使用这些代码时,我可以获得正确的用户信息,但是当我将此项目发布到IIS服务器时,当我调用此方法时,我总是得到500个代码
错误为“响应?.Data”为空
我想解决这个问题,我尝试了很多方法,但都失败了
我想在IIS中找到原因,所以我添加了一行代码
client.Proxy = new WebProxy("127.0.0.1", 8888);
令人惊讶的是,当我打开fiddler时,有时我可以获取用户信息,但当我关闭fiddler时,错误再次出现
你能告诉我为什么吗
以及如何解决这个问题
多谢各位
p.s我忘记了一个细节,在IIS中,mysite的绑定域不低于“localhost”或“ip:port”。
我还有一个类似“hai.xxxxx.co”的域名,我的网站地址是“hai.xxxxx.co:8088”。
在iis中更新绑定配置
我想我知道这个问题的关键所在 因为授权不是来自我的服务,所以我需要一个反向代理
这就是我在代码中打开fiddle并设置代理时无法正常获得响应的原因。我是否应该更改IIS服务器的配置?此域是否位于您的IIS中?@ngeksyo是的,我的站点位于此域下,请使用一个端口。当您在服务器中调用应用程序时,应使用本地地址()而不是域。可能我让您误解了,IIS add网站可以将域绑定到一个站点,而我的站点位于IIS中,但是域我只知道api地址,我不知道它的位置。@ngeksyo
client.Proxy = new WebProxy("127.0.0.1", 8888);