You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.1 KiB
31 lines
1.1 KiB
using System.Net;
|
|
using System.Net.Http;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace WcfControlMonitorWebLib
|
|
{
|
|
/// <summary>
|
|
/// 用于处理跨域问题
|
|
/// </summary>
|
|
internal class CorsHandler : DelegatingHandler
|
|
{
|
|
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
|
|
{
|
|
return base.SendAsync(request, cancellationToken)
|
|
.ContinueWith((task) =>
|
|
{
|
|
HttpResponseMessage response = task.Result;
|
|
response.Headers.Add("Access-Control-Allow-Credentials", "true");
|
|
response.Headers.Add("Access-Control-Allow-Headers", "Content-Type,Token");
|
|
response.Headers.Add("Access-Control-Allow-Methods", "*");
|
|
response.Headers.Add("Access-Control-Allow-Origin", "*");
|
|
if (request.Method == HttpMethod.Options)
|
|
{
|
|
response.StatusCode = HttpStatusCode.OK;
|
|
}
|
|
return response;
|
|
});
|
|
}
|
|
}
|
|
}
|