2011-06-27 12 views
1

IISへのアクセス権がない共有ホストでIIS6によって切断された静的ファイルのコンテンツタイプを変更しようとしていますIISへのアクセスなしでIIS6の静的ファイルのコンテンツタイプヘッダーを変更する

<system.webServer> 
<staticContent> 
    <remove fileExtension=".manifest" /> 
    <mimeMap fileExtension=".manifest" mimeType="text/cache-manifest" /> 
</staticContent> 
</system.webServer> 
私のweb.configファイルで

が、それだけで私はMIMEタイプがtext /キャッシュを持っているすべての静的ファイルは、拡張子マニフェストを添えて変更しようとしています、そのサンプルの後に何らかの疑問がある場合はIIS7 で動作するように表示されます-manifest

ありがとうございます。

+0

私はかなり確信している ありえない。 – SLaks

+0

@SLaks :(Meep!私はこれのためにIHttpHandlerを書こうとは思わなかった。あなたの考えをありがとう。 –

答えて

2

あなたが全体のWebサーバーのMIMEタイプを変更することに満足している、あなたはASP.NETのコードを実行できる場合は、このスニペットは、IIS 6(コードがhttp://forums.silverlight.net/p/138545/449294.aspxからである)にあなたのためのMIMEタイプを追加します:

try 
{ 
    string ext = ".xap"; 
    string mime = "application/x-silverlight-app"; 

    using (DirectoryEntry mimeMap = new DirectoryEntry("IIS://localhost/MimeMap")) 
    { 
     bool found = false; 
     foreach (MimeMap m in mimeMap.Properties["MimeMap"]) 
     { 
      if (m.Extension == ext) 
      { 
       // found existing, update 
       m.MimeType = mime; 
       found = true; 
      } 
     } 

     // not found, create new 
     if (!found) 
     { 
      mimeMap.Properties["MimeMap"].Add(new MimeMapClass { Extension = ext, MimeType = mime }); 
     } 

     // commit changes 
     mimeMap.CommitChanges(); 
    } 
} 
catch (Exception e) 
{ 
    // Log exception to event viewer 
    // Show message stating to configure mime type manually 
}    
私は

希望..あなただけあなたがそれ以上のものを追加したい場合は、あなたが追加したすべてのMIMEタイプのために新しいディレクトリ・サーバー・インスタンスをインスタンス化する必要がありますが、一度に一つのMIMEタイプを追加できることはかなりすぐに見つけ

それは助ける...

関連する問題