恒石成品库WCS
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

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;
});
}
}
}