Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将自定义标题添加到.Net中的所有招摇过市响应_C#_.net_Asp.net Web Api_Swagger_Swashbuckle - Fatal编程技术网

C# 将自定义标题添加到.Net中的所有招摇过市响应

C# 将自定义标题添加到.Net中的所有招摇过市响应,c#,.net,asp.net-web-api,swagger,swashbuckle,C#,.net,Asp.net Web Api,Swagger,Swashbuckle,我们正在使用带有Swagger的WebApi服务器来记录端点。我们希望添加内容安全策略和X-Frame-Options标题。我们希望通过拦截调用和添加自定义头来实现这一点,但是我们找不到这样做的方法。我们正在使用5.0.4版本的WebApi NuGet包的Swashback-Swagger 有没有一种方法可以截获虚张声势的响应或向响应中添加自定义头?如果要向所有响应中添加头,一种方法是添加一个DelegatingHandler,该方法可以通过重写SendAsync方法来添加头。因此,您将创建一个

我们正在使用带有Swagger的WebApi服务器来记录端点。我们希望添加内容安全策略和X-Frame-Options标题。我们希望通过拦截调用和添加自定义头来实现这一点,但是我们找不到这样做的方法。我们正在使用5.0.4版本的WebApi NuGet包的Swashback-Swagger


有没有一种方法可以截获虚张声势的响应或向响应中添加自定义头?

如果要向所有响应中添加头,一种方法是添加一个
DelegatingHandler
,该方法可以通过重写
SendAsync
方法来添加头。因此,您将创建一个继承自
DelegatingHandler
的类,然后重写
SendAsync
。e、 g:

public class AddCustomHeadersResponseHandler : DelegatingHandler
{
    protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
    {
         var response = await base.SendAsync(request, cancellationToken);

         response.Headers.Add("Content-Security-Policy", "yourSecurityValue");

         response.Headers.Add("X-Frame-Options", "yourFrameOptions");

         return response;
    }
}

工作起来很有魅力,只需添加一些调整就可以只过滤招摇过市的电话,但这完全适用于我的情况。非常感谢你!
GlobalConfiguration.Configuration.MessageHandlers.Add(new AddCustomHeadersResponseHandler());