修改IISExpress配置文件
IISExpress的配置文件是AppServer\applicationhost.config,现在我们修改它,让IISExpress指定当前项目的路径下的Bin\WebSite文件夹为网站应用的根目录。
用记事本打开applicationhost.config,然后找到sites(网站配置节点)。
修改网站信息中的physicalPath(物理路径)属性的值。
ps:我们还可以修改网站运行端口,和在复制一个Site节点,增加另一个网站。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<sites> <site name= "Development Web Site" id= "1" serverAutoStart= "true" > <application path= "/" > <virtualDirectory path= "/" physicalPath= "D:\WinFormIISExpressHost\bin\Debug\WebSite" /> </application> <bindings> <binding protocol= "http" bindingInformation= ":5180:localhost" /> </bindings> </site> <siteDefaults> <!-- To enable logging, please change the below attribute "enabled" to "true" --> <logFile logFormat= "W3C" directory= "%AppData%\Microsoft\IISExpressLogs" enabled= "false" /> <traceFailedRequestsLogging directory= "%AppData%\Microsoft" enabled= "false" maxLogFileSizeKB= "1024" /> </siteDefaults> <applicationDefaults applicationPool= "IISExpressAppPool" /> <virtualDirectoryDefaults allowSubDirConfig= "true" /> </sites> |
测试
现在我们新建一个WebTEST的MVC网站项目,然后将其发布;将发布的文件放到刚刚的Winform项目的Bin/Website文件夹下(也可以直接发布到该文件夹下)。
然后运行项目。
项目运行后,电脑右下角会出现IISExpress的图标。
然后我们访问http://localhost:5180/。访问成功;如下图:
CEF应用
IISExpress已经成功运行了,现在我们使用CEF来浏览网页。(CEF是一个使用Chrome内核的Browser)
首先引用CEF(有时候引用了CEF后,项目会出现未刷新的情况,关闭重启即可在引用中看到引用的DLL了),如下图:
引用了CEF后,我们会发现,项目编译会报错;这是因为CEF不支持AnyCPU,所以我们需要将平台目标改成X64。(项目属性和解决方案配置都要修改)
不过很多时候,我们的解决方案必须使用AnyCPU,那么,我们就需要修改下工程文件了。(项目属性必须是X64)
用记事本打开WinFormIISExpressHost.csproj;在第一个PropertyGroup下增加节点<CefSharpAnyCpuSupport>true</CefSharpAnyCpuSupport>;如下图:
修改完工程文件VS会提示重新加载项目;点击确定重新加载,然后项目已经可以编译过去了。
现在我们将CEF应用到项目中,代码如下:
1
2
|
var chromeBrowser = new ChromiumWebBrowser( "http://localhost:5180/" ); panelParent.Controls.Add(chromeBrowser); |