最近在做一个项目,向IIS中添加MIME的类型,再往上查到了需要引用Active DS IIS Namespace Provider程序集,使用IISOle.MimeMapClass类制作一个Mime类型的对象,添加到IIS中。考虑到通用性问题,如果一台计算机没有装IIS,那么由于程序中引用了Active DS IIS Namespace Provider程序集,所以程序会崩溃,自然而然考虑使用反射动态加载该程序集,但是这个程序集是COM组件,无法使用反射加载,因此需要对这个程序集进行COM封装,那位大侠有这个程序集的COM封装的代码,或熟悉COM封装的,给我一些指点,谢谢!!!
/// <summary>
/// 安装WEB共享
/// </summary>
/// <param name="p_TargetDirectoryWebString">目标路径</param>
/// <returns></returns>
private bool InsertDirectoryServices(string p_TargetDirectoryWebString)
{
DirectoryEntry _RootFolder = new DirectoryEntry("IIS://localhost/W3SVC/1/ROOT");
DirectoryEntry _VirDir = _RootFolder.Children.Add(txtProjectName.Text + "_Web", "IIsWebVirtualDir");
_VirDir.Properties["Path"].Value = p_TargetDirectoryWebString; //设置路径
_VirDir.Invoke("AppCreate", true);
//设置名称
_VirDir.Properties["AppFriendlyName"].Value = txtProjectName.Text + "iTouchWeb";
_VirDir.Properties["AppIsolated"].Value = 2; PropertyValueCollection _Mime = (PropertyValueCollection)_VirDir.Properties["MimeMap"]; //获取MIME类型 IISOle.MimeMapClass _NewMime = new IISOle.MimeMapClass(); //新建MIME类型
_NewMime.Extension = ".xap";
_NewMime.MimeType = ".xap";
_Mime.Add(_NewMime); //添加MIME类型 _VirDir.CommitChanges();//更改目录
_RootFolder.CommitChanges(); //更改根目录
return true;
}
求C#给IIS知道站点加MIME类型的代码。