欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#修改IIS站点framework版本号的方法

程序员文章站 2023-10-31 14:16:10
本文实例讲述了c#修改iis站点framework版本号的方法。分享给大家供大家参考。具体如下: 使用asp.net iis 注册工具 (aspnet_regiis.ex...

本文实例讲述了c#修改iis站点framework版本号的方法。分享给大家供大家参考。具体如下:

使用asp.net iis 注册工具 (aspnet_regiis.exe)可以方便地更新 asp.net 应用程序的脚本映射,使其指向与该工具关联的 asp.net isapi 版本.

关于asp.net iis 注册工具的更详细的内容,请参考msdn.

在控制台上我们使用下面的命令可以修改一个虚拟目录的asp.net版本:

复制代码 代码如下:
aspnet_iis.exe –s path

我们知道了如何来修改一个虚拟目录的版本,现在的问题就是如何使用程序来实现它了.

以下代码基于.net framework 2.0 在windows xp sp2中编译通过:

//创建一个虚拟目录 
directoryentry dirroot = new directoryentry("iis://localhost/w3svc/1/root"); 
directoryentries dirs = dirroot.children; 
directoryentry virtualdir = dirs.add("virtualchange", dirroot.schemaclassname); 
object[] objs = new object[] { true }; 
virtualdir.invoke("appcreate", objs); 
virtualdir.properties["appfriendlyname"][0] = "virtualchange"; 
virtualdir.properties["path"].value = "c:\\virtualchange"; 
virtualdir.commitchanges(); 
//启动aspnet_iis.exe程序 
string filename = environment.getenvironmentvariable("windir") + @"\microsoft.net\framework\v1.1.4322\aspnet_regiis.exe"; 
processstartinfo startinfo = new processstartinfo(filename); 
//处理目录路径 
string path = virtualdir.path.toupper(); 
int index = path.indexof("w3svc"); 
path = path.remove(0, index); 
//启动aspnet_iis.exe程序,刷新教本映射 
startinfo.arguments = "-s " + path; 
startinfo.windowstyle = processwindowstyle.hidden; 
startinfo.useshellexecute = false; 
startinfo.createnowindow = true; 
startinfo.redirectstandardoutput = true; 
startinfo.redirectstandarderror = true; 
process process = new process(); 
process.startinfo = startinfo; 
process.start(); 
process.waitforexit(); 
string errors = process.standarderror.readtoend(); 
if (errors != string.empty) 
  throw new exception(errors); 
console.writeline(process.standardoutput.readtoend());

希望本文所述对大家的c#程序设计有所帮助。