如何更改 IIS/MVC 中提供的特定类型文件的标头

发布于 2024-12-17 11:24:12 字数 533 浏览 1 评论 0原文

我正在修复由 3G 上的 02 压缩问题引起的问题。

网站展示 JavaScript iPad / iPhone 在 3G 下出现错误,但在 WiFi 下则不然

最好的解决方案似乎是 http://stuartroebuck.blogspot.com/2010/08/ ficial-way-to-bypassing-data.html 基本上是在 IIS 中添加标头 Cache-Control: no-transform我想仅将此应用于特定文件类型。做到这一点最简单的方法是什么?

I am implementing a fix for the problem caused by 02 compression issues over 3G.

Web site exhibits JavaScript error on iPad / iPhone under 3G but not under WiFi

The best solution seems to be http://stuartroebuck.blogspot.com/2010/08/official-way-to-bypassing-data.html which is basically to add the header Cache-Control: no-transform in IIS, however I would like to apply this only to specific file types. What is the easiest way to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

A君 2024-12-24 11:24:12

对我来说编写HttpModule是最好的解决方案。我给你写了一个例子。
您可以检查特定文件类型的 MIME 类型。

public class AddHeaderModule : IHttpModule
{
    public void Init(HttpApplication context)
    {
        context.EndRequest += OnEndRequest;
    }

    void OnEndRequest(object sender, System.EventArgs e)
    {
        if(HttpContext.Current.Response.ContentType == "image/jpeg")
            HttpContext.Current.Response.Headers.AddHeader("Cache-Control", "no-transform");
    }
}

另外你还必须添加它 web.config

<configuration>
   <system.web>
      <httpModules>
         <add name="AddHeaderModule" type="your.namespace.AddHeaderModule" />
      </httpModules>
   </system.web>
</configuration>

It is the best solution for me to write a HttpModule. I wrote an example for you.
You can check mime type for specific file types.

public class AddHeaderModule : IHttpModule
{
    public void Init(HttpApplication context)
    {
        context.EndRequest += OnEndRequest;
    }

    void OnEndRequest(object sender, System.EventArgs e)
    {
        if(HttpContext.Current.Response.ContentType == "image/jpeg")
            HttpContext.Current.Response.Headers.AddHeader("Cache-Control", "no-transform");
    }
}

Also you have to add it web.config

<configuration>
   <system.web>
      <httpModules>
         <add name="AddHeaderModule" type="your.namespace.AddHeaderModule" />
      </httpModules>
   </system.web>
</configuration>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文