有没有办法通过C#在IIS6中启用ASP.NET Web服务扩展?我正在尝试为以前没有使用过IIS的人简化网站设置程序。
答案 0 :(得分:4)
C#NET。框架用法:
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
答案 1 :(得分:2)
你可以很容易地调用WMI(System.Management命名空间,IIRC),我相信你可以从那里设置它。但是,手动设置它可能要简单得多,你不能在ASP.NET站点内完成它,因为你的服务器在设置之后将无法运行它...
可以找到做类似事情的原则here
答案 2 :(得分:2)
查看所有这些示例都是用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);
}
答案 3 :(得分:1)
// 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
答案 4 :(得分:0)
我相信你也可以运行以下命令行:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -s W3SVC
这将以递归方式为所有已配置的网站启用AND.NET框架v2.0.50727。