C#操作服务器(5):C#实现将aspnet4.0注册到IIS

作者:陆金龙    发表时间:2015-05-24 11:24   


    如果系统安装.net framework 4 或4.5时,IIS尚未启用,则aspnet不会注册到IIS。之后启用了IIS后,运行aspnet web应用程序通常会报错。 这时就需要重新将aspnet注册到IIS。注册的方式有很多种:

    方式一:找到C:\WINNT\MICROSOFT.NET\FRAMEWORK\V版本号\ASPNET_REGIIS.EXE(例如:C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe),直接双击运行。

    方式二:打开程序-运行-cmd:输入命令C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i 重新注册IIS

    方式三:有些时候,希望通过代码自动完成该步骤,通过C#实现该功能的代码如下:

/// 
/// 注册Aspnet 4.0到IIS
/// 
public static bool RegisterAspnet4()
{
    string fileName = Environment.GetEnvironmentVariable("windir") + @"\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe";
    ProcessStartInfo startInfo = new ProcessStartInfo(fileName);

    //启动ASPnet_iis.exe程序,刷新脚本映射 
    startInfo.Arguments = "-i";
    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.Length > 0)
    {
        return true;
    }
    return false;
}