聲明:本文為www.cnc6.cn原創,轉載時請注明出處,謝謝!
一、搭建環境:
1、系統:Win10 1809
2、IDE:Visual Studio 2017
3、Framework: 4.6.1
4、語言:C# (ASP.NET MVC)
二、新建一個MVC網站,打開Visual Studio(筆者這里使用的是Visual Studio 2017),使用MVC模板按照默認項目名稱新建一個WebApplication(筆者這里使用的是WebApplication1),如下圖所示:
三、打開本項目的IIS配置文件,位置位於:"C:\Users\{計算機用戶名}\source\repos\{項目名稱}\.vs\config\applicationhost.config",
筆者這里的位置是:"C:\Users\CNC\source\repos\WebApplication1\.vs\config\applicationhost.config",這里以筆者的為准,其他的項目大同小異,以下不再作說明;
我們導航到<sites>節點,內容如下:
<sites> <site name="WebSite1" id="1" serverAutoStart="true"> <application path="/"> <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" /> </application> <bindings> <binding protocol="http" bindingInformation=":8080:localhost" /> </bindings> </site> <site name="WebApplication1" id="2"> <application path="/" applicationPool="Clr4IntegratedAppPool"> <virtualDirectory path="/" physicalPath="C:\Users\CNC\source\repos\WebApplication1\WebApplication1" /> </application> <bindings> <binding protocol="http" bindingInformation="*:63684:localhost" /> </bindings> </site> <siteDefaults> <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" /> <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" /> </siteDefaults> <applicationDefaults applicationPool="Clr4IntegratedAppPool" /> <virtualDirectoryDefaults allowSubDirConfig="true" /> </sites>
找到與本項目相關的Site,我們可以從 bindingInformation="*:63684:localhost" 看到,這里綁定的IP為localhost,端口號為63684。
我們可以使用appcmd命令行提示符來顯示以上信息:
1)將“C:\Program Files (x86)\IIS Express”(64位)或“C:\Program Files\IIS Express”(32位)加入到系統環境變量,具體怎么加入系統環境變量,可以自行百度;
2)打開命令提示符,輸入以下命令:
appcmd /apphostconfig:C:\Users\CNC\source\repos\WebApplication1\.vs\config\applicationhost.config list site
接着命令提示符顯示:
以上與項目的applicationhost.config文件顯示一致,本項目的Site ID為2。
四、將applicationhost.config文件內<site name="WebApplication1" id="2">節點內容修改,如下(下划線所示):
修改前:
<site name="WebApplication1" id="2"> <application path="/" applicationPool="Clr4IntegratedAppPool"> <virtualDirectory path="/" physicalPath="C:\Users\CNC\source\repos\WebApplication1\WebApplication1" /> </application> <bindings> <binding protocol="http" bindingInformation="*:63684:localhost" /> </bindings> </site>
修改后:
<site name="WebApplication1" id="2"> <application path="/" applicationPool="Clr4IntegratedAppPool"> <virtualDirectory path="/" physicalPath="C:\Users\CNC\source\repos\WebApplication1\WebApplication1" /> </application> <bindings> <binding protocol="http" bindingInformation="*:63684:*" /> </bindings> </site>
將localhost修改為*,修改的目的是不僅僅可以使用localhost:63684,還可以使用任意與本機相關的IP地址,如192.168.0.8:63684。
五、為非管理員用戶和帳戶保留指定的URL,請以管理員模式打開命令提示符,輸入以下信息:
netsh http add urlacl url=http://*:63684/ user=everyone
完成之后,會顯示以下信息:
六、使用iisexpres開啟所創建的網站(WebApplication),請在控制台輸入以下命令:
iisexpress /config:C:\Users\CNC\source\repos\WebApplication1\.vs\config\applicationhost.config /siteid:2
成功開啟后會顯示以下信息:
七、如果局域網內不能訪問類似:http://192.168.0.8:63684 網站,請關閉防火牆,因為63684端口未配置為防火牆規則。
八、最終的運行效果如下: