Rua*_*uan 2 asp.net iis model-view-controller asp.net-core-2.0
我创建了.net Core 2 API并将其发布到服务器。
与普通的.Net MVC结构相比,文件结构看起来很奇怪。
我熟悉的普通结构
这就是已部署的.NET CORE 2 API的结构
现在,如果我只是尝试将该文件夹转换为类似于普通ASP.NET应用程序的应用程序,则它将无法正常工作。
我已经在服务器上安装了.NET Core Windows Server Hosting捆绑包,但仍然缺少某些东西。
您在何处添加此代码以启用IISIntegration?
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
Run Code Online (Sandbox Code Playgroud)
该代码位于Program.cs中,但它是默认代码,因此您应该已经可以了。
ASP.NET的核心文件结构是比MVC 5种不同的,但是这一切都非常的工作原理相同,一旦你安装了.NET核心主机运行。您将发布的文件放在Web服务器上的目录中。然后,您在IIS中设置一个站点以使用该目录。唯一略有不同的是,您需要编辑应用程序池并将其设置为“无托管代码”,而不是特定的.NET运行时。除此之外,它都应该可以正常工作。
也就是说,如果您的屏幕快照是文件的完整列表,那么您似乎确实缺少了一些东西。发布过程有时可能失败。尝试重新发布。
背景
ASP.NET Core的工作方式与以前的ASP.NET Web应用程序根本不同。过去,所有HTTP模块都来自机器上安装的整体式.NET Runtime,而ASP.NET Core应用程序是完全独立的。实际上,Core应用程序仅仅是一个控制台应用程序。在IIS安装程序中,实际的Web服务器是Kestrel,它捆绑在Core应用程序中,也可以从.NET Core运行时获得。IIS充当反向代理。将请求传递给Kestrel,然后返回从Kestrel获得的响应(因此称为“无托管代码”)。通过IIS部署,您的应用程序是一个DLL,但它也可以完全独立并且可以作为可执行文件进行部署。关键是,是的,文件结构等非常不同,因为它从根本上以不同的方式工作。
归档时间: |
|
查看次数: |
3020 次 |
最近记录: |