簡體   English   中英

以編程方式在 IIS6 中啟用 ASP.NET

[英]Enable ASP.NET in IIS6 Programmatically

有沒有辦法通過 C# 在 IIS6 中啟用 ASP.NET Web 服務擴展? 我正在嘗試為以前沒有使用過 IIS 的人簡化網站設置程序。

C# 網絡。 框架使用:

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

你可以很容易地調用 WMI(System.Management 命名空間,IIRC),我相信你可以從那里設置它。 但是,手動設置它可能要簡單得多,您不能在 ASP.NET 站點內進行設置,因為您的服務器在設置之前將無法運行它...

可以在這里找到做類似事情的原則

環顧四周,所有這些示例都是用 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。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM