IIS Express(电脑无管理员权限如何启用VS调试)

 

转载页面:https://www.cnblogs.com/xbblogs/p/4756552.html(详细版)

 直接按照红色字体步骤执行,其他字体可先忽略 出问题再详细看
 

1.设置配置文件

   1:路径如下:“我的文档\IIS Express\Config”。 applicationhost.config 是核心的配置文件

    ①.每个 <site> 就是一个网站。

         ②.<site> 下的<bindings>设置了这个站点的绑定信息。

     节点下的每个<binding>都是一个端口绑定信息。典型的绑定配置如下:<binding protocol="http" bindingInformation="*:8080:localhost" />

    ③.<application> 这个节设置了网站的应用程序

 

2.配置例子: 找到sites 复制粘贴如下

复制代码

<sites>
<site name="网站名字" id="2">
<application path="/" applicationPool="Clr4ClassicAppPool">
<virtualDirectory path="/" physicalPath="D:\程序源码\IDWebSoft" />(此为注释:网站根目录)
</application>
<application path="/IDWebSoft" applicationPool="Clr4ClassicAppPool">
<virtualDirectory path="/" physicalPath="D:\2.程序源码\IDWebSoft" />(此为注释:网站根目录)
</application>
<bindings>
<binding protocol="http" bindingInformation="*:58127:localhost" />
</bindings>
</site>

复制代码

 

 

3.关于虚拟目录的支持(可以先忽略此步骤,我的是2017 3步骤全部省略)

注意:你需要安装Visual Studio 2010 SP1来让Visual Studio 2010支持IIS Express。(试版本而定,我的是2017直接安装)

在“解决方案管理器”中右击网站项目,并选择“使用IIS Express….”即可:(没找到可以忽略)

image

Visual Studio会使用一个新的默认端口在IIS Express中创建网站。

②,如果你想要将当前项目作为一个虚拟目录映射到现有的某个站点或新网站的根目录下,那么推荐在项目属性中更改(项目属性-WEB):

image

 

输入完成后,直接点击“创建虚拟目录”即可完成转换操作。VS将会自动在本机的IIS Express中完成配置。

 

4:开始启动

  1:默认IIS Express会使用在“我的文档”中保存的 applicationhost.config。 

  2:也可以指定命令模式启动: iisexpress /config:<配置文件路径>

  3:win+r cmd 进入命令行执行:"C:\Program Files\IIS Express\iisexpress.exe" /siteid:2(可以看到运行成功信息:IIS Express is running.)

6:如何调试

  1:打开VS: ALT+D >附加到进程>筛选 iisexpress 点击启动

  2:运行之后:浏览器输入自己的网站地址:http://localhost:58127/IDWebSoft/ 这个是我自己的

 

7:容易出现如下问题.关于管理员身份启动(出问题优先看此处)

1:绑定到了保留的端口(通常位于1024以下的端口,如80、88、443等);:2没有绑定localhost,而是绑定了域名或其它内容;

2:使用了HTTPS,但是端口不在44300-44399范围内;

3:使用了自己的SSL证书的HTTPS。

①,使用了保留的端口 

通常操作系统的HTTP.sys(网络内核)将1024以下的端口设计为保留端口,如果IIS Express需要绑定到这些端口,则需要它拥有管理员权限,否则就会失败。错误类似这样:

image

反映到系统的日志中,就是这样的错误:

image

要解决这个问题,很简单,只要将端口绑定到非保留端口即可(大于1024),或使用管理员身份启动它备注1。

②,绑定了其它域名

默认情况下,IIS Express只能绑定到 localhost。如果需要绑定到具体的域名供外部访问而又没有解决方案,那么就会遭遇到失败的问题。

要解决,也很简单——就是使用管理员身份启动它备注1。

③,使用了HTTPS,但是端口不在 44300-44399之内

IIS Express用于承载HTTPS站点测试时,端口会限制在44300-44399之内,这同样是操作系统的限制。如果超过了这个范围,则需要以管理员身份启动它才能正常工作备注1。

④,使用了自己的SSL证书的HTTPS

IIS Express默认会安装一个测试的自签名证书用于开发,这允许开发人员在没有SSL证书的情况下进行开发。但是如果站点使用了自己的SSL证书,则会导致IIS Express需要管理员身份才能启动备注1。

 

posted @ 2019-12-23 10:46  12不懂3  阅读(1460)  评论(0编辑  收藏  举报
创作不易,请勿抄袭,欢迎转载!