首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以编程方式为IIS6设置全局mime类型?

如何以编程方式为IIS6设置全局mime类型?
EN

Stack Overflow用户
提问于 2009-12-16 05:52:04
回答 2查看 1.9K关注 0票数 4

目前,我可以使用以下语法为IIS6上的主网站设置mime类型:

代码语言:javascript
复制
cscript adsutil.vbs set W3SVC/1/Root/MimeMap ".manifest, text/cache-manifest"

当我只需要以W3SVC/1为目标时,这似乎工作得很好。

我需要编写一个更新脚本,以确保给定IIS6安装上的任何站点都配置了正确的mime类型。我可以将mime类型添加到每个单独的站点,也可以添加到全局级别。我需要通过编程来做到这一点,并希望在所有可能的情况下使用adsutil.vbs。

EN

回答 2

Stack Overflow用户

发布于 2010-01-15 01:34:45

我认为更简单的方法是只修改每个服务器上的mime类型,你只需要做一次,更改就会级联到每个网站上,但是为什么你要重写.vbs mime类型呢?你最好创建一个自定义的。

或者,您可以在IIS的元数据库中设置更改,您只需在每个服务器上将enable direct Metabase edit设置为true,然后通过代码进行更改。

票数 0
EN

Stack Overflow用户

发布于 2012-02-17 12:11:19

您可以使用ADSI和Powershell2.0。

代码语言:javascript
复制
$adsiPrefix = "IIS://$serverName"
$iisPath = "W3SVC"
$iisADSI = [ADSI]"$adsiPrefix/$iisPath"

$site = $iisADSI.Create("IISWebServer", $script:webSiteNumber)

$xapMimeType = New-Object -comObject MimeMap
    SetCOMProperty $xapMimeType "Extension" ".xap"
    SetCOMProperty $xapMimeType "MimeType" "application/x-silverlight-app"
    $site.Properties["MimeMap"].Add($xapMimeType)

    $site.SetInfo()
    $site.CommitChanges()

function SetCOMProperty($target, $member, $value) {
    $target.psbase.GetType().InvokeMember($member, [System.Reflection.BindingFlags]::SetProperty, $null, $target, $value)        
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1910658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档