コード例 #1
0
        public void Start()
        {
            var iisSettings = new Settings();

            var settings = new FreePort.Settings(iisSettings.Executable, iisSettings.Port)
            {
                Arguments = x =>
                {
                    var args = new[]
                    {
                        String.Format(CultureInfo.InvariantCulture, "/port:{0}", x.Port),
                        String.Format(CultureInfo.InvariantCulture, @"/path:""{0}""", iisSettings.PathToWebApp),
                        "/systray:false"
                    };

                    return(String.Join(" ", args));
                },
                CheckStarted = p =>
                {
                    var standardOutput = new StringBuilder();
                    for (var line = 0; line < 4; line++)
                    {
                        standardOutput.AppendLine(p.StandardOutput.ReadLine());
                    }

                    if (p.HasExited ||
                        standardOutput.ToString().IndexOf("fail", StringComparison.InvariantCultureIgnoreCase) != -1 ||
                        standardOutput.ToString().IndexOf("invalid", StringComparison.InvariantCultureIgnoreCase) != -1)
                    {
                        throw new IOException("Could not start IIS Express:\n" + standardOutput);
                    }
                },
                Started = (p, s) => Process = p
            };

            _iisExpress = Launcher.Launch(settings);

            BaseUrl = string.Format(CultureInfo.InvariantCulture, "http://localhost:{0}", _iisExpress.Port);
        }
コード例 #2
0
        public void Start()
        {
            var iisSettings = new Settings();

              var settings = new FreePort.Settings(iisSettings.Executable, iisSettings.Port)
              {
            Arguments = x =>
            {
              var args = new[]
              {
            String.Format(CultureInfo.InvariantCulture, "/port:{0}", x.Port),
            String.Format(CultureInfo.InvariantCulture, @"/path:""{0}""", iisSettings.PathToWebApp),
            "/systray:false"
              };

              return String.Join(" ", args);
            },
            CheckStarted = p =>
            {
              var standardOutput = new StringBuilder();
              for (var line = 0; line < 4; line++)
              {
            standardOutput.AppendLine(p.StandardOutput.ReadLine());
              }

              if (p.HasExited ||
              standardOutput.ToString().IndexOf("fail", StringComparison.InvariantCultureIgnoreCase) != -1 ||
              standardOutput.ToString().IndexOf("invalid", StringComparison.InvariantCultureIgnoreCase) != -1)
              {
            throw new IOException("Could not start IIS Express:\n" + standardOutput);
              }
            },
            Started = (p, s) => Process = p
              };

              _iisExpress = Launcher.Launch(settings);

              BaseUrl = string.Format(CultureInfo.InvariantCulture, "http://localhost:{0}", _iisExpress.Port);
        }