有没有一种方法可以通过C#在IIS6中启用ASP.NET Web服务扩展?我正在尝试简化网站设置程序,以供那些没有使用过IIS的人使用。
C# .NET Framework 的用法:
Process.Start(@"C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis", "-i -enable");
CMD 的用法:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -i -enable
这是非常有用的。
来源:https://serverfault.com/questions/1649/why-does-iis-refuse-to-serve-asp-net-content
所有这方面的例子都是用vbscript编写的。所以我作弊了,想出了这个函数:
static void EnableASPNET()
{
var file = "wmi.vbs";
using (var writer = new StreamWriter(file))
{
writer.WriteLine("Set webServiceObject = GetObject(\"IIS://localhost/W3SVC\")");
writer.WriteLine("webServiceObject.EnableWebServiceExtension \"ASP.NET v2.0.50727\"");
writer.WriteLine("webServiceObject.SetInfo");
}
var process = Process.Start("cscript", file);
process.WaitForExit();
File.Delete(file);
}
// if windows 2003
if (Environment.OSVersion.Version.Major == 5 &&
Environment.OSVersion.Version.Minor == 2)
{
DirectoryEntry folderRoot = new DirectoryEntry("IIS://localhost/W3SVC");
folderRoot.Invoke("EnableWebServiceExtension", "ASP.NET v2.0.50727");
}
从这里复制: http://lastdon.blogspot.com/2006/12/setup-web-application-on-windows-2003.html
我相信你也可以运行以下命令行:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -s W3SVC
这将递归地为所有配置的网站启用AND.NET框架v2.0.50727。