首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在IIS上发布.NETCore 2 API和主机

在IIS上发布.NETCore 2 API和主机
EN

Stack Overflow用户
提问于 2017-09-08 09:35:36
回答 1查看 3.1K关注 0票数 2

我创建了一个.net Core2API并将其发布到服务器上。

与普通的.Net MVC结构相比,文件结构看起来非常奇怪。

我熟悉的正常结构

这是已部署的.NET核心2 API的结构。

现在,如果我尝试将该文件夹转换为一个像普通ASP.NET应用程序一样的应用程序,它就无法工作。

我已经在服务器上安装了.NET核心Windows托管包,但是我仍然遗漏了一些东西。

在哪里添加这些代码以启用IISIntegration?

代码语言:javascript
复制
var host = new WebHostBuilder()
    .UseKestrel()
    .UseContentRoot(Directory.GetCurrentDirectory())
    .UseIISIntegration()
    .UseStartup<Startup>()
    .Build();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-08 14:23:03

这段代码是用Program.cs编写的,但它是默认的,所以您应该已经很好了。

ASP.NET核心文件结构与MVC 5不同,但是一旦安装了.NET,它们的工作原理基本相同。将已发布的文件放到web服务器上的目录中。然后,在IIS中设置一个站点以使用该目录。唯一略有不同的是,您需要编辑App并将其设置为“”,而不是特定的.NET运行时。除此之外,一切都应该正常运作。

也就是说,如果您的屏幕截图是文件的完整列表,那么您确实遗漏了一些东西。出版过程有可能在某个时候失败了。试着重新出版。

背景

ASP.NET核心的工作方式与以前的ASP.NET web应用程序有着根本的不同。过去,所有的HTTP模块都是从机器上安装的单片.NET运行时产生的,而ASP.NET核心应用程序则是完全独立的。实际上,Core应用程序只是一个控制台应用程序。在IIS设置中,实际的web服务器是Kestrel,它要么绑定到核心应用程序中,要么从.NET核心运行时获得。IIS充当反向代理。将请求传递给Kestrel,然后返回它从Kestrel获得的响应(因此获得了“”)。使用IIS部署,您的应用程序是一个DLL,但它也可以是完全独立的,并作为一个可执行文件部署。关键是,是的,文件结构和这样的文件结构是非常不同的,因为它以不同的方式工作。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46113272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档