自动注册 IIS6 的 MIME 类型-阿里云开发者社区

开发者社区> 杰克.陈> 正文

自动注册 IIS6 的 MIME 类型

简介: 原文 自动注册 IIS6 的 MIME 类型 由于IIS5和IIS6有很多的MIME类型没有设置,其中还包括了FLV(video/x-flv),上篇文章描述了制作《IIS6 自动安装》,而它也仅仅实现了IIS的自动安装。
+关注继续查看

原文 自动注册 IIS6 的 MIME 类型

由于IIS5和IIS6有很多的MIME类型没有设置,其中还包括了FLV(video/x-flv),上篇文章描述了制作《IIS6 自动安装》,而它也仅仅实现了IIS的自动安装。像注册 ASP.NET 到 IIS 都没有制作,还有这些MIME的添加,现在就来补充下这些方法。

注册 ASP.NET 到 IIS
一想就很简单了,不就是调用 .net framework 对应的注册程序嘛。你可以写一个批处理程序,在安装 IIS 服务之后执行,代码如下:

if exist %SystemRoot%\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe %SystemRoot%\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i -enable
if exist %SystemRoot%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe %SystemRoot%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -iru -enable

自动注册 MIME 类型
回到本文的主题,我们做类似 ClickOnce 部署等需要注册额外的 MIME 才能使 IIS 支持使用(这是IIS的安全策略)。如果是IIS7的话当然就不用设置这些了,他们是 .net framework 3.0 的内容。我从 MSDN 里找到一个 VBS 注册脚本:

' This script adds the necessary Windows Presentation Foundation MIME types 
' to an IIS Server.
' To use this script, just double-click or execute it from a command line.
' Running this script multiple times results in multiple entries in the IIS MimeMap.

Dim MimeMapObj, MimeMapArray, MimeTypesToAddArray, WshShell, oExec
Const ADS_PROPERTY_UPDATE = 2 

' Set the MIME types to be added
MimeTypesToAddArray = Array(".manifest", "application/manifest", ".xaml", _
    "application/xaml+xml", ".application", "application/x-ms-application", _
    ".deploy", "application/octet-stream", ".xbap", "application/x-ms-xbap", _
    ".xps", "application/vnd.ms-xpsdocument") 

' Get the mimemap object 
Set MimeMapObj = GetObject("IIS://LocalHost/MimeMap")

' Call AddMimeType for every pair of extension/MIME type
For counter = 0 to UBound(MimeTypesToAddArray) Step 2
    AddMimeType MimeTypesToAddArray(counter), MimeTypesToAddArray(counter+1)
Next

' Create a Shell object
Set WshShell = CreateObject("WScript.Shell")

' Stop and Start the IIS Service
Set oExec = WshShell.Exec("net stop w3svc")
Do While oExec.Status = 0
    WScript.Sleep 100
Loop

Set oExec = WshShell.Exec("net start w3svc")
Do While oExec.Status = 0
    WScript.Sleep 100
Loop

Set oExec = Nothing

' Report status to user
WScript.Echo "Windows Presentation Foundation MIME types have been registered."

' AddMimeType Sub
Sub AddMimeType (Ext, MType)

    ' Get the mappings from the MimeMap property. 
    MimeMapArray = MimeMapObj.GetEx("MimeMap") 

    ' Add a new mapping. 
    i = UBound(MimeMapArray) + 1 
    Redim Preserve MimeMapArray(i) 
    Set MimeMapArray(i) = CreateObject("MimeMap") 
    MimeMapArray(i).Extension = Ext 
    MimeMapArray(i).MimeType = MType 
    MimeMapObj.PutEx ADS_PROPERTY_UPDATE, "MimeMap", MimeMapArray
    MimeMapObj.SetInfo
    
End Sub

  

第10到16行,是我们要加入的MIME类型,如果你还要加入FLV,就再添加一行,写上:
".flv","video/x-flv", _
保存成 RegisterIISMimeTypes.vbs 后,双击它,或者用命令行调用(可以将此命令行写在批处理中):
cscript.exe RegisterIISMimeTypes.vbs
这样就行了。

如果你想对这方面有所了解,需要掌握以下知识:
· IIS
· IIS MIME 类型
· Windows 脚本宿主(VBS脚本)
· 批处理
· .NET Framework ClickOnce

我将这些有用的文件传到网上,你可以下载研究,文件包中还包括了显示当前IIS MIME类型的VBS,用cscript.exe命令调用。

-------------------------------------------------


进入下载页面
类型: 7Z 压缩文件 大小: 1.8 KB上传时间 2009-4-3 10:34119.112.166.203 参考:http://msdn.microsoft.com/zh-cn/library/ms752346.aspx

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
C# 设置IP地址及设置自动获取IP
原文:C# 设置IP地址及设置自动获取IP 1.添加引用"system.Management" 2.添加using System.Management using System; using System.
1682 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
7952 0
IIS崩溃时自动抓取Dump
原文:IIS崩溃时自动抓取Dump 背景:在客户现场,IIS有时会崩溃,开发环境没法重现这个bug,唯有抓取IIS的崩溃是的Dump文件分析. IIS崩溃时自动抓取Dump,需要满足下面几个条件 1、启动 Windows Error Reporting Service 服务   2、移除默认的调试器   如果你的机器装了VS开发工具,会在注册表里写入调试器地址,需要把它删除。
1307 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
9715 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
11422 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
11352 0
unity3d自定义Toggle组件,解决设置isOn自动调用方法
当我们在使用unity自带的Toggle组件的时候,我们是通过Toggle组件上的isOn属性得知是开启我们的功能面板还是关闭,这时候通常我们会给toggle绑定一个方法,当我们点击toggle的时候,调用方法,同时播放点击音效,可是有些时候,需要我们...
1965 0
+关注
杰克.陈
一个安静的程序猿~
10427
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载