【发布时间】:2021-08-03 13:00:25
【问题描述】:
我有一个独立的 C# WCF 服务作为 Windows 服务运行。我需要在所有响应中添加自定义标头,例如“X-Xss-Protection”。我已尝试在 app.config 文件中使用以下脚本,但这不会向响应中添加任何 HTTP 标头。
<system.webServer>
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By"/>
<remove name="X-AspNet-Version"/>
<remove name="HTTPServer"/>
<remove name="Microsoft-IIS"/>
<add name="Strick-Transport-Security" value="max-age=31536000;includeSubDomains"/>
<add name="Content-Security-Policy" value="script-src 'unsafe-eval' https://www.google.com 'self' 'unsafe-inline'"/>
<add name="X-Xss-Protection" value="1; mode=block"/>
<add name="Feature-Policy" value="geolocation 'none'"/>
<add name="Cache-Control" value="no-cache, no-store, must-revalidate, pre-check=0, post-check=0, max-age=0, s-maxage=0"/>
<add name="Pragma" value="no-cache"/>
<add name="Expires" value="0"/>
</customHeaders>
</httpProtocol>
</system.webServer>
【问题讨论】:
-
之前好像有人问过这个问题,请参考这里的答案stackoverflow.com/a/1408177/3559462
-
感谢您的评论,@Vikas。对我来说 IDispatchMessageInspector.BeforeSendReply 方法不会自动调用。知道可能是什么原因吗?