[英]No response result when using RestSharp(in IIS)
這個問題困擾了我這么長時間。
我編寫了一個asp.net項目,並使用RestSharp發布了我的請求以授權用戶是否可以登錄該站點。
下面是調用授權服務器的方法的代碼
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,但是當我關閉提琴手時,錯誤再次出現。
你能告訴我為什么嗎?
以及如何解決這個問題。
謝謝。
ps我忘記了一個細節,在IIS中,mysite的綁定域不在“ localhost”或“ ip:port”種類之下。
我有另一個域,例如“ hai.xxxxx.co”,我的站點地址是“ hai.xxxxx.co:8088”。
在IIS中更新我的綁定配置
我想我知道這個問題的關鍵。
因為授權不是來自我的服務,所以我需要反向代理。
這就是為什么當我在代碼中打開小提琴並設置代理時,無法正常獲得響應的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.