Как изменить заголовки для определенных типов файлов, обслуживаемых в IIS / MVC - PullRequest
2 голосов
/ 22 ноября 2011

Я внедряю исправление для проблемы, вызванной 02 проблемами сжатия по 3G.

На веб-сайте обнаружена ошибка JavaScript на iPad / iPhone под 3G, но не под WiFi

Лучшим решением, похоже, является http://stuartroebuck.blogspot.com/2010/08/official-way-to-bypassing-data.html, которое в основном заключается в добавлении заголовка Cache-Control: no-transform в IIS, однако я хотел бы применить это только к определенным типам файлов. Какой самый простой способ сделать это?

1 Ответ

2 голосов
/ 23 ноября 2011

Это лучшее решение для меня, чтобы написать 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...