2011-06-27 35 views
1

我試圖更改由IIS6在共享主機上切斷的靜態文件的內容類型,但我無法訪問IIS我試過在IIS 6中更改靜態文件的內容類型標頭,但無法訪問IIS

<system.webServer> 
<staticContent> 
    <remove fileExtension=".manifest" /> 
    <mimeMap fileExtension=".manifest" mimeType="text/cache-manifest" /> 
</staticContent> 
</system.webServer> 

在我的web.config但似乎只與IIS7 工作但如果是該樣品後,我試圖改變所有靜態文件送達擴展.manifest的有mime類型的文本/緩存中的任何疑問-manifest

謝謝。

+0

我很確定這是 不可能。 – SLaks

+0

@SLaks :(Meep!我不想爲此寫一個IHttpHandler,謝謝你的想法。 –

回答

2

如果你很高興更改MIME類型爲整個Web服務器和您可以運行ASP.NET代碼,那麼這個片段將在IIS 6中添加MIME類型爲你(代碼是從http://forums.silverlight.net/p/138545/449294.aspx):

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類型添加..

希望這有助於...