首页 > 编程 > C# > 正文

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

2019-10-29 21:38:13
字体:
来源:转载
供稿:网友
这篇文章主要介绍了C#修改IIS站点framework版本号的方法,涉及C#调用使用ASP.NET IIS注册工具Aspnet_regiis.exe进行IIS站点framework版本号修改的方法,具有一定参考借鉴价值,需要的朋友可以参考下
 

本文实例讲述了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中编译通过:
 

  1. //创建一个虚拟目录  
  2. DirectoryEntry dirRoot = new DirectoryEntry("IIS://localhost/W3SVC/1/Root");  
  3. DirectoryEntries dirs = dirRoot.Children;  
  4. DirectoryEntry virtualDir = dirs.Add("VirtualChange", dirRoot.SchemaClassName);  
  5. object[] objs = new object[] { true };  
  6. virtualDir.Invoke("AppCreate", objs);  
  7. virtualDir.Properties["AppFriendlyName"][0] = "VirtualChange";  
  8. virtualDir.Properties["Path"].Value = "C://VirtualChange";  
  9. virtualDir.CommitChanges();  
  10. //启动aspnet_iis.exe程序  
  11. string fileName = Environment.GetEnvironmentVariable("windir") + @"/Microsoft.NET/Framework/v1.1.4322/aspnet_regiis.exe";  
  12. ProcessStartInfo startInfo = new ProcessStartInfo(fileName);  
  13. //处理目录路径  
  14. string path = virtualDir.Path.ToUpper();  
  15. int index = path.IndexOf("W3SVC");  
  16. path = path.Remove(0, index);  
  17. //启动aspnet_iis.exe程序,刷新教本映射  
  18. startInfo.Arguments = "-s " + path;  
  19. startInfo.WindowStyle = ProcessWindowStyle.Hidden;  
  20. startInfo.UseShellExecute = false;  
  21. startInfo.CreateNoWindow = true;  
  22. startInfo.RedirectStandardOutput = true;  
  23. startInfo.RedirectStandardError = true;  
  24. Process process = new Process();  
  25. process.StartInfo = startInfo;  
  26. process.Start();  
  27. process.WaitForExit();  
  28. string errors = process.StandardError.ReadToEnd();  
  29. if (errors != string.Empty)  
  30.   throw new Exception(errors);  
  31. Console.WriteLine(process.StandardOutput.ReadToEnd()); 

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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表