我正在检查默认的MVC 6应用程序并在本地文件系统上发布了构建。这是我检查编译源文件以nuget pacakges
时的样子我可以看到3个主要文件夹: approot , logs & wwwroot的
内部审批:
我可以看到我的WebApplication1现在是一个nuget包。
在approot>包> WebApplicaton1> 1.0.0> app中的ef文件是什么?
ef文件也与2个网络文件一起被批准。它们是什么?
内部wwwroot:它拥有我所有的静态资源,如css和js。
当我们在IIS或azure中部署应用程序时,这一切是如何实现的?
答案 0 :(得分:3)
已发布输出中的ef
和web
个文件与您在ef
中定义的web
和commands
project.json
相对应文件。您可以在project.json文件中定义更多命令,所有这些命令都将显示在此处。
从beta-8
版本开始,ASP.NET 5在IIS中使用名为HttpPlatformHandler
的模块,该模块将http请求转发给外部进程...在我们的例子中,它将是dnx.exe
处理。例如,您可以查看web.config
下的wwwroot
文件,其中显示了模块注册以及执行外部流程的路径......正如您在此处所见web.cmd
正在使用。
<configuration>
<system.webServer>
<handlers>
<add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
</handlers>
<httpPlatform processPath="%home%\site\approot\web.cmd" arguments="" stdoutLogEnabled="false" stdoutLogFile="\\?\%home%\LogFiles\stdout.log"></httpPlatform>
</system.webServer>
</configuration>
这种设计也适用于非Windows场景......例如,您也可以将您的应用与nginx
反向代理一起使用
更详细的信息可以在以下链接中找到: