Как запустить / остановить IISExpress Server?

Я установил MS Visual Web Developer 2010, который включает в себя iisexpress.

До этого я установил сервер xampp для своих приложений php.

Я хотел бы знать, как я могу остановить iis, чтобы иметь возможность запустить xampp? Похоже, что они используют один и тот же порт. Я думаю, что они могут быть изменены, но я не хочу вмешиваться в другие программы, и более того, я думаю, это должно быть проще.

Спасибо!

7 ответов

Закрытие IIS Express

По умолчанию Visual Studio размещает значок IISExpress на панели задач в нижней правой части экрана рядом с часами. Вы можете щелкнуть правой кнопкой мыши и выбрать выход. Если вы не видите значок, попробуйте нажать на маленькую стрелку, чтобы просмотреть полный список значков на панели задач.

Значок IIS Express

затем щелкните правой кнопкой мыши и выберите Exit:


Смена порта

Другой вариант - изменить порт, изменив свойства проекта. Это необходимо сделать для каждого веб-проекта в вашем решении.

  1. Visual Studio> Обозреватель решений
  2. Щелкните правой кнопкой мыши веб-проект и выберите "Свойства".
  3. Перейти на вкладку Интернет
  4. В разделе "Серверы" измените порт в поле "URL-адрес проекта".
  5. Повторите для каждого веб-проекта в решении

Изменение порта IIS Express


Если все остальное терпит неудачу

Если это не сработает, попробуйте запустить диспетчер задач и закрыть процесс системного лотка IIS Express (32-разрядный) и рабочий процесс IIS Express (32-разрядный).

Завершение процесса рабочего потока IIS Express

Если он все еще не работает, как указал ni5ni6, на порту 80 запущена "Служба агента веб-развертывания". Используйте эту статью, чтобы отследить, какой процесс ее использует, и отключить ее:

https://sites.google.com/site/anashkb/port-80-in-use

Отличный ответ, данный msigman. Я просто хочу добавить, что в Windows 10 вы можете найти IIS Express System Tray (32 bit) процесс под Visual Studio процесс:

Откройте диспетчер задач и уничтожьте оба этих процесса. Они автоматически запустят резервную копию. Затем попробуйте снова отладить проект.

Я столкнулся с той же проблемой. Моя цель - протестировать PHP-скрипты с Oracle на Windows 7 Home и, не задумываясь, установить IIS7 Express и в качестве запоздалой мысли посчитал Apache более простым подходом. Я буду изучать возможности IIS Express отдельно.

Проблема заключалась в том, что после установки IIS7 Express установка Apache играла вторую скрипку с IIS express и открывала домашнюю страницу Microsoft.

Я решил проблему с портом 80:

  1. Остановка Microsoft WedMatrix:- нет остановки был / у
  2. Перезапустил сервер Apache
  3. Проверка того, что Apache теперь прослушивает порт:- net stat -anop
  4. Очистка кешей браузеров - Firefox и IE
  5. Запуск localhost

Вот статический класс, реализующий Start(), Stop() и IsStarted() для IISExpress. Он параметризован жестко закодированными статическими свойствами и передает информацию о вызовах через аргументы командной строки в IISExpress. Он использует пакет Nuget MissingLinq.Linq2Management, который неожиданно предоставляет информацию, отсутствующую в System.Diagnostics.Process, в частности, аргументы командной строки, которые затем можно использовать для устранения неоднозначности возможных множественных экземпляров процессов IISExpress, поскольку я не сохраняю Идентификаторы процесса. Я предполагаю, что есть способ сделать то же самое с помощью только System.Diagnostics.Process, но жизнь коротка. Наслаждаться.

using System.Diagnostics;
using System.IO;
using System.Threading;
using MissingLinq.Linq2Management.Context;
using MissingLinq.Linq2Management.Model.CIMv2;

public static class IisExpress
{
  #region Parameters
  public static string SiteFolder = @"C:\temp\UE_Soln_7\Spc.Frm.Imp";
  public static uint Port = 3001;
  public static int ProcessStateChangeDelay = 10 * 1000;
  public static string IisExpressExe = @"C:\Program Files (x86)\IIS Express\iisexpress.exe";
  #endregion

  public static void Start()
  {
    Process.Start(InvocationInfo);
    Thread.Sleep(ProcessStateChangeDelay);
  }
  public static void Stop()
  {
    var p = GetWin32Process();
    if (p == null) return;

    var pp = Process.GetProcessById((int)p.ProcessId);
    if (pp == null) return;

    pp.Kill();
    Thread.Sleep(ProcessStateChangeDelay);
  }
  public static bool IsStarted()
  {
    var p = GetWin32Process();
    return p != null;
  }

  static readonly string ProcessName = Path.GetFileName(IisExpressExe);
  static string Quote(string value) { return "\"" + value.Trim() + "\""; }
  static string CmdLine =
    string.Format(
      @"/path:{0} /port:{1}",
      Quote(SiteFolder),
      Port
      );
  static readonly ProcessStartInfo InvocationInfo =
    new ProcessStartInfo()
      {
        FileName = IisExpressExe,
        Arguments = CmdLine,
        WorkingDirectory = SiteFolder,
        CreateNoWindow = false,
        UseShellExecute = true,
        WindowStyle = ProcessWindowStyle.Minimized
      };
  static Win32Process GetWin32Process()
  {
    //the linq over ManagementObjectContext implementation is simplistic so we do foreach instead
    using (var mo = new ManagementObjectContext())
      foreach (var p in mo.CIMv2.Win32Processes)
        if (p.Name == ProcessName && p.CommandLine.Contains(CmdLine))
          return p;
    return null;
  }
}

Вы можете остановить любое приложение IIS Express или все приложения. Щелкните правой кнопкой мыши значок IIS Express, расположенный в правом нижнем углу панели задач. Затем выберите Показать все приложение

Чтобы остановить IIS вручную:

  1. перейти в меню "Пуск"
  2. введите IIS

вы получаете результат поиска для менеджера (Internet Information Services (IIS)), справа от него есть кнопки перезагрузки / остановки / запуска.

Если вы не хотите, чтобы IIS запускался при запуске, потому что это действительно раздражает..:

  1. перейти в меню "Пуск".
  2. нажмите панель управления.
  3. нажмите программы.
  4. включить или отключить функции Windows
  5. дождитесь загрузки списка
  6. поиск информационных служб Интернета (IIS).
  7. снимите флажок
  8. Подождите, пока это не будет сделано с изменениями.
  9. перезагрузите компьютер, но затем информационное окно снова скажет вам сделать это (вы можете оставить это на потом, если хотите).

о, и IIS и xampp в основном делают то же самое только немного по-другому. И если у вас есть Xampp для ваших проектов, тогда совсем не обязательно оставлять его включенным, если вы вообще никогда его не используете.

Другие вопросы по тегам