webapi 远程请求(HttpWebrequest (get ,异步))


 

public void OnAuthorization(AuthorizationFilterContext context)
{
Task.Run(() =>
{
var header = context.HttpContext.Request.Headers["Authorization"];
string url = "http://localhost:54321/api/account/auth/checks?permission=delete";
Task<WebResponse> response = Httpwebrequest.CreateGetHttpResponse(url, 10000, header, null);
//HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://localhost:54321/api/account/auth/checks?permission=delete");
string M = "1";
});
}

 

 

自定义方法

public static async Task<WebResponse> CreateGetHttpResponse(string url, int? timeout, string authorization, CookieCollection cookies)
{
if (string.IsNullOrEmpty(url))
{
throw new ArgumentNullException("url");
}
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "GET";
request.UserAgent = DefaultUserAgent;
request.Proxy = null;
request.Headers.Add("Authorization", authorization);
//request.BeginGetRequestStream(new AsyncCallback(ReadCallback), request);
if (timeout.HasValue)
{
request.Timeout = timeout.Value;
}
if (cookies != null)
{
request.CookieContainer = new CookieContainer();
request.CookieContainer.Add(cookies);
}
ServicePointManager.DefaultConnectionLimit = 120;
WebResponse WebResponse = await request.GetResponseAsync();
return WebResponse;
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM