如何启动/停止IISExpress服务器?

我已经安装了包含iisexpress的MS Visual Web Developer 2010。

在此之前,我已经为我的php应用程序安装了xampp服务器。

我想知道如何才能停止iis才能启动xampp? 看来他们使用相同的端口。 我想这些可能会改变,但我不想干涉其他程序,更重要的是我认为这应该更简单。

谢谢!

closuresIIS Express

默认情况下,Visual Studio将IISExpress图标放在屏幕右下angular的系统托盘中。 您可以右键单击它并select退出。 如果您看不到该图标,请尝试单击小箭头以查看系统托盘中图标的完整列表。

IIS Express图标

然后右键单击并select退出:

在这里输入图像说明


更改端口

另一个选项是通过修改项目属性来更改端口。 您需要为解决scheme中的每个Web项目执行此操作。

  1. Visual Studio>解决scheme资源pipe理器
  2. 右键单击Web项目并select“属性”
  3. 转到Web选项卡
  4. 在“服务器”部分中,更改“项目URL”框中的端口
  5. 对解决scheme中的每个Web项目重复一次

更改IIS Express端口


如果所有其他的失败

如果这不起作用,您可以尝试启动任务pipe理器并closuresIIS Express System Tray(32位)进程和IIS Express Worker Process(32位)。

终止IIS Express Worker线程进程

如果它仍然不起作用,正如ni5ni6指出的那样,在端口80上运行着一个“Web部署代理服务”。使用这篇文章来跟踪哪个进程使用它,并将其closures:

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

我遇到了同样的问题。 我的目标是在Windows 7 Home上用OracletestingPHP脚本,而不用考虑安装IIS7 express,并且事后认为Apache是​​一种更简单的方法。 我将分开探讨IIS Express的function。

面临的挑战是在安装IIS7之后,Apache安装程序正在向IIS快速播放并启动Microsoft主页。

我解决了80端口的问题:

  1. 停止微软WedMatrix: – 净停止是/年
  2. 重新启动Apache服务器
  3. 现在validationApache正在监听端口: – netstat -anop
  4. 清理浏览器caching – Firefox和IE
  5. 运行本地主机

这是一个为IISExpress实现Start(),Stop()和IsStarted()的静态类。 它通过硬编码的静态属性进行参数化,并通过命令行参数将调用信息传递给IISExpress。 它使用了Nuget包MissingLinq.Linq2Management,它令人惊讶地提供了System.Diagnostics.Process中缺less的信息,特别是可用于帮助消除可能的多个IISExpress进程实例的命令行参数,因为我不保留进程ID。 我认为有一种方法可以用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:

  1. 去开始菜单
  2. 在IIS中键入

你会得到一个经理的search结果(Internet信息服务(IIS)pipe理器,在它的右侧有重启/停止/开始button。

如果你不想IIS启动,因为它真的很烦人..:

  1. 去开始菜单。
  2. 点击控制面板。
  3. 点击程序。
  4. 打开或closures窗口function
  5. 等到列表被加载
  6. searchInternet信息服务(IIS)。
  7. 取消选中该框。
  8. 等到它完成了更改。
  9. 重新启动计算机,但是,然后信息框会再次告诉你这样做(如果你愿意的话,你可以稍后再离开)。

哦,IIS和xampp基本上以相同的方式做了相同的事情。 如果你有Xampp的项目,那么它不是真正的所有这些nessecary离开它,如果你从来没有使用它。