首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在IIS中托管.NET核心web应用程序时,进程内和进程外托管模式的优缺点是什么

在IIS中托管.NET核心web应用程序时,进程内和进程外托管模式的优缺点如下:

进程内托管模式: 优点:

  1. 性能较高:由于应用程序直接运行在IIS工作进程的上下文中,减少了进程间通信的开销,提高了性能。
  2. 简化部署:应用程序与IIS工作进程运行在同一个进程中,部署和管理相对简单。
  3. 更好的集成:可以直接使用IIS的功能,如身份验证、授权、URL重写等。

缺点:

  1. 安全性较低:应用程序运行在IIS工作进程的上下文中,可能受到IIS工作进程的安全漏洞的影响。
  2. 可靠性较低:如果应用程序崩溃或出现故障,可能会导致整个IIS工作进程崩溃,影响其他应用程序的正常运行。

进程外托管模式: 优点:

  1. 安全性较高:应用程序运行在独立的进程中,与IIS工作进程隔离,减少了受到IIS工作进程安全漏洞的影响。
  2. 可靠性较高:如果应用程序崩溃或出现故障,只会影响当前应用程序,不会影响其他应用程序的正常运行。

缺点:

  1. 性能较低:由于进程间通信的开销,相比进程内托管模式,性能较低。
  2. 部署和管理相对复杂:需要额外的配置和管理,相对进程内托管模式更复杂。

腾讯云相关产品和产品介绍链接地址: 腾讯云提供了多种云计算产品,包括云服务器、云数据库、云存储等,具体可以参考腾讯云官方网站的相关产品介绍页面:https://cloud.tencent.com/product

注意:本回答中没有提及亚马逊AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google等流行的云计算品牌商,如需了解更多相关产品和服务,建议参考官方网站或咨询相关厂商。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET Core基础补充01

从托管的角度来看,一个ASP.NET Web 应用程序可以通过两种方式托管,即进程托管(InProcess)或进程外托管(OutOfProcess)。...下拉列表包含三个值,即默认值(进程内)、进程内和进程外。 那么, 确认默认情况下它使用"进程中"托管模型。 如何在ASP.NET Core中配置InProcess托管?...什么是ASP.NET Core中的进程外托管(OutOfProcess)? 对于ASP.NET Core OutOfProcess托管模型,有两个Web服务器。...因此,当您使用"进程外托管"模型时,Kestrel Web 服务器将托管应用程序并处理请求,无论您是否使用反向代理服务器。 使用.NET CLI启用ASP.NET Core应用程序时会发生什么?...当我们使用InProcess Hosting模型时,则将应用程序托管在IIS工作进程中,即对于IIS为w3wp.exe,对于IIS Express为iisexpress.exe。

18110
  • Asp.NetCore轻松学-部署到 IIS 进行托管

    需要学习的其它内容 2.1 IIS 中两种托管方式 部署到 IIS 的 .NETCore 应用程序可以选择两种不同的托管模式,分别是“进程内托管” 和 “进程外托管”,选择哪种托管模式取决于个人,但是一般推荐使用...“进程内托管” 模式,使用 “进程内托管”可依托 IIS 获得更高的吞吐量,下面来了解一下两种不同的托管模式的区别,选择不同的托管模式可通过修改配置文件 web.config 来完成配置选择 首先看一个标准的...中,可以选择的值为:inprocess(进程内托管)/outofprocess(进程外托管),通过设置 hostingModel 的值来选择不同的托管模式 进程内托管 选择进程内托管,意味着将....NetCore 应用程序的工作进程托管到 IIS 的工作进程 w3wp.exe 中,使用的 IIS 进程内服务器,即使用的是:IISHttpServer。...进程外托管 选择进程外托管时,web.config 配置节点 system.webServer/aspNetCore.hostingModel 的值必须设置为:outofprocess,选择进程外托管,

    2.8K30

    ASP.NET Core 进程外(out-of-process)托管(7)《从零开始学ASP.NET CORE MVC》

    进程内托管图示 ASP.NET Core 进程外(out-of-process)托管 有两种方法可以配置进程外托管 : 方法一:将元素添加到应用程序的项目文件中...进程外(out-of-Process)托管 有2个Web服务器 ,内部Web服务器和外部Web服务器。 内部Web服务器是Kestrel, 外部Web服务器可以是IIS,Nginx或Apache。...Kestrel 是嵌入在 asp. net Core 应用程序中的跨平台 web 服务器。...由于我们已将应用程序配置为使用进程外托管,所以当前情况下,IIS Express 已经在充当反向代理服务器了。 IIS Express接收传入的HTTP请求并将其转发给Kestrel进行处理。...如果我们使用InProcess托管,则应用程序将托管在IIS工作进程(w3wp.exe或iisexpress.exe)中。 知识点:Kestrel不与InProcess(进程内)托管一起使用。

    1.5K50

    ASP.NET Core launchsettings.json文件(8)《从零开始学ASP.NET CORE MVC》:

    本文出自《从零开始学ASP.NET CORE MVC》 推荐文章:ASP.NET Core 进程外(out-of-process)托管 ASP.NET Core launchsettings.json...如果您希望您的Asp.Net Core 应用程序在发布和部署应用程序时使用某些独立的设置,请将它们存储在appsettings.json文件中。...只使用一个Web服务器 - Kestrel 只使用一个Web服务器 - Kestrel IISExpress 进程内托管(InProcess) 只使用一个Web服务器 - IIS Express 只使用一个...Web服务器 - IIS Express IISExpress 进程外托管(OutOfProcess) Kestrel IIS Express IIS 进程内托管(InProcess) 只使用一个Web...服务器 - IIS 只使用一个Web服务器 - IIS IIS 进程外托管(OutOfProcess) Kestrel IIS 您还可以通过直接编辑launchSettings.json文件中的设置,

    2.3K31

    ASP.NET CORE Study01

    asp.net core 多种启动方式 asp.net core 可以通过项目名称,iis express 或 iis 进行启动,更具是进程内还是进程外托管,asp.net core web应用程序的支持服务器并不一样...,使用项目名称启动默认会忽略进程内进程外的区别,而使用iis express 和 iis 都是明显的不同。...asp.net core web 应用程序默认是进程托管。...,models 中模型类,views 下是视图一般是cshtml 文件,program.cs 是整个asp.net core web应用程序的启动类,是整个程序的起点入口,startup.cs 是配置asp.net...而在项目发布到生产环境时需要使用某些独立的配置,就需要使用appsettings 配置文件,在该文件中将存放应用程序运行的配置信息,比如数据库连接字符串等。

    15610

    IIS 5.x与ASP.NET

    IIS进程与工作进程之间通过命名管道(Named Pipes)进程通信,以获得最好的性能。 在工作进程初始化过程中,.NET 运行时(CLR)被加载,从而构建了一个托管的环境。...图4 IIS 7与ASP.NET ASP.NET集成 从上面对IIS 5.x和IIS 6.0的介绍中,我们不难发现这一点,IIS与ASP.NET是两个相互独立的管道(Pipeline),在各自管辖范围内...从另一个角度讲,IIS运行在非托管的环境中,而ASP.NET管道则是托管的,从这个意义上讲,ISAPI还是连接非托管环境和托管环境的纽带。图5反映了IIS 6.0与ASP.NET之间的桥接关系。 ?...图6 基于IIS 7.0与ASP.NET集成管道设计 图6演示了在ASP.NET集成模式下,IIS整个请求处理管道的结构。我们可以看到,原来ASP.NET提供的托管组件可以直接应用在IIS管道中。...IIS 6引入了应用程序池的概念,一个工作进程对应着一个应用程序池。一个应用程序池可以承载一个或者多个Web应用,每个Web应用映射到一个IIS虚拟目录。

    2.8K20

    WCF技术剖析之二:再谈IIS与ASP.NET管道

    IIS进程与工作进程之间通过命名管道(Named Pipes)进程通信,以获得最好的性能。 在工作进程初始化过程中,.NET 运行时(CLR)被加载,从而构建了一个托管的环境。...,并不执行任何用户代码,所以其本身不会受到Web应用、工作进程和IIS进程的影响; 内核模式下数据缓存:如果某个资源被频繁请求,HTTP.SYS会把响应的内容进行缓存,缓存的内容可以直接响应后续的请求...图4 IIS 7与ASP.NET ASP.NET集成 从上面对IIS 5.x和IIS 6.0的介绍中,我们不难发现这一点,IIS与ASP.NET是两个相互独立的管道(Pipeline),在各自管辖范围内...从另一个角度讲,IIS运行在非托管的环境中,而ASP.NET管道则是托管的,从这个意义上讲,ISAPI还是连接非托管环境和托管环境的纽带。图5反映了IIS 6.0与ASP.NET之间的桥接关系。...IIS 6引入了应用程序池的概念,一个工作进程对应着一个应用程序池。一个应用程序池可以承载一个或者多个Web应用,每个Web应用映射到一个IIS虚拟目录。

    1.6K110

    WCF技术剖析之二:再谈IIS与ASP.NET管道

    IIS进程与工作进程之间通过命名管道(Named Pipes)进程通信,以获得最好的性能。 在工作进程初始化过程中,.NET 运行时(CLR)被加载,从而构建了一个托管的环境。...,并不执行任何用户代码,所以其本身不会受到Web应用、工作进程和IIS进程的影响; 内核模式下数据缓存:如果某个资源被频繁请求,HTTP.SYS会把响应的内容进行缓存,缓存的内容可以直接响应后续的请求...图4 IIS 7与ASP.NET ASP.NET集成 从上面对IIS 5.x和IIS 6.0的介绍中,我们不难发现这一点,IIS与ASP.NET是两个相互独立的管道(Pipeline),在各自管辖范围内...从另一个角度讲,IIS运行在非托管的环境中,而ASP.NET管道则是托管的,从这个意义上讲,ISAPI还是连接非托管环境和托管环境的纽带。图5反映了IIS 6.0与ASP.NET之间的桥接关系。...IIS 6引入了应用程序池的概念,一个工作进程对应着一个应用程序池。一个应用程序池可以承载一个或者多个Web应用,每个Web应用映射到一个IIS虚拟目录。

    1.2K41

    WCF系列教程之WCF服务宿主与WCF服务部署

    如果我们需要使用WCF服务,那么我们就必须将服务寄宿与创建它并控制它的上下文和生存期的运行时环境当中,承载服务的环境,称之为宿主。WCF服务可以在支持托管代码的任意Windows进程中运行。...二、WCF宿主环境主要有以下几种 1、托管应用程序中的自承载 WCF服务可以承载与任何托管应用程序中,这是最灵活的选项,因为它需要部署的基础结构最少,在托管应用程序代码内嵌入服务代码,然后创建并打开 ServiceHost...) 应用程序 控制台的优势: 在应用程序的开发阶段中,将 WCF 服务承载于控制台应用程序内通常是很有用的。...2、托管应用程序中的自承载代码实例 (1)、控制台应用程序代码实例 请参考WCF系列教程之WCF消息交换模式之单项模式 (2)、关于Windows Presentation Foundation (WPF...5、Internet信息服务(IIS) 在IIS中承载WCF服务,之前已经创建了契约层和服务层,这里就不创建了。 第一步:新建IISHost空Web应用程序,作为WCF服务的宿主 ?

    1.4K80

    ASP.NET5 Beta8可用性

    更改IIS托管模式 我们已经取得了重大更新,以beta8托管模式ASP.NET 5 IIS。...使用现有的System.Web托管模式钩子该组件促进DNX和CLR的引导。这个钩子取代了运行应用程序已经开始(但从IIS的角度)之后。...此本机的IIS模块管理的外部应用程序的主机过程的发起(在此情况下dnx.exe)和从IIS请求到托管进程的路由。 简化模型到一个托管选项(但仍支持在同一场景)用于开发人员的代码和测试更少的东西。...统一的错误处理在所有服务器启动错误 守则和行为统一 在.NET框架(全CLR)是否运行时,支持的app.config自托管或在IIS中(即使是用于.NET Framework的兼容性没有更多的web.config...) 统一服务的故事 统一启动时的故事(无奇AspNetLoader.dll在bin文件夹) 你会发现,在Visual Studio中的ASP.NET 5项目模板已被更新,包括在应用程序中的wwwroot

    1.8K160

    windowServer_windowsserver是什么

    同时,由于按需激活和进程回收,因此托管长期运行进程(例如,IIS 和 WAS 中的工作流)十分具有挑战。如果应用程序要求,则状态暂留和主机激活必须由开发人员明确配置。...尽管 IIS 和 WAS 的结合功能为 WCF 和 WF 应用程序提供了强大的托管环境,但充分利用这些功能通常需要开发人员在部署和配置应用程序上投入相当大的精力。...若要简化配置管理,AppFabric 将为每个由安装程序配置的服务器节点应用默认设置。这些设置在根 Web.config 文件中定义,并且可由任意托管的应用程序使用。...Windows PowerShell cmdlet 虽然在 IIS 管理控制台内提供配置和管理选项可以轻松地管理托管的应用程序,但这通常需要创建可自动执行多步骤配置和管理方案的脚本。...在 WAS 中托管服务时,将不会创建服务实例,直到接收到递送至该服务的消息。这表示最初服务启动时,必须通过分配内存、加载库以及创建对象等方式初始化新的实例。

    1.8K100

    .NET中的各种池

    ,在卸载AppDomain时会抛出该异常 CLR或宿主进程终止一个线程时 在.NET1.0和1.1版本中, CLR会处理掉线程池中未处理的异常。...从IIS6开始引入了应用程序池的概念,应用程序池通过进程来隔离不同的应用程序以防止不同应用之间相互影响。在部署ASP.NET应用时,应用程序池通常有两种托管管道模式可供选择:集成模式和经典模式。...默认情况下,一个应用程序池有一个工作进程,可以根据实际情况设置多个工作进程,但要考虑资源消耗及本地缓存同步问题。 IIS6和IIS5中的工作进程隔离均是在服务器级别。...在同一台服务器上无法使用不同的工作进程隔离模式。从IIS7开始,工作进程隔离模式是基于应用程序池的,这样就可以在同一台服务器上使用不同的隔离模式。...IIS与ASP.NET中的线程池 iis最大连接数和队列长度 System.Threading.Tasks.Task引起的IIS应用程序池崩溃 HTTP.SYS 详解 IIS执行原理 IIS ASP.NET

    90440

    .NET Core实战项目之CMS 第十七章 CMS网站系统的部署

    与 Asp.Net 不同,ASP.NET Core 不再是由 IIS 工作进程(w3wp.exe)托管,而是使用自托管 Web 服务器(Kestrel)运行,IIS 则是作为反向代理的角色转发请求到 Kestrel...在服务器节点下,选择“应用程序池”。 右键单击站点的应用池,然后从上下文菜单中选择“基本设置”。 在“编辑应用程序池”窗口中,将“.NET CLR 版本”设置为“无托管代码”: ?...ASP.NET Core 在单独的进程中运行,并管理运行时。 ASP.NET Core 不依赖加载桌面 CLR。 将“.NET CLR 版本”设置为“无托管代码”为可选步骤。...ASP.NET Core 2.2 或更高版本:对于使用进程内托管模型的 64 位 (x64) 独立部署,为 32 位 (x86) 进程禁用应用池。...在 IIS 管理员的“应用程序池”的“操作”侧栏中,选择“设置应用程序池默认设置”或“高级设置”。 找到“启用 32 位应用程序”并将值设置为 False。 此设置不会影响针对进程外托管部署的应用。

    2.3K20

    关于net core 站点通过iis部署,Delete和Put请求被拦截报跨域错误的问题

    环境:netcore 5.0 iis 8.5 ajax调用delete接口时发生了以下错误 很困惑,检查了跨域配置如下: 并正常启用了中间件如下: 前端访问均正常,且get、post等请求也能正常访问...,就是delete和put报了405 methd not allowed 和跨域错误,意识到事情没有那么简单.因为之前配置了跨域后还是没有生效的问题,原因出在iis上,详情请阅读关于net core 站点通过...一番查阅之后,发现和iis确实有关系,罪魁祸首是WebDAVModule,它似乎设置了默认禁用的PUT和DELETE请求方法。...为了让它们正常工作,我们要么需要更改这些默认设置,要么需要为整个Web应用程序禁用它,修改web.config文件如下: 的关键其实是设置了进程内托管,选择进程内托管,意味着将 .NetCore 应用程序的工作进程托管到 IIS 的工作进程 w3wp.exe 中,使用的 IIS 进程内服务器,即使用的是:IISHttpServer

    2.1K20

    学习asp.net_IIS6.0进程模型

    主要原因在于:IIS6.0利用不同的内部模块的管道来处理一个入站请求,并且只有在仿真模式下运行时才能模仿IIS5.0的行为。IIS6.0管道以一个名为完wp.exe的工作进程为中心。...所有被分配给同一个应用程序池的Web应用程序共享该可执行进程的一个副本。用IIS6.0的行话来说,一个应用程序池是一组共享相同的工作进程的副本的Web用用程序。...IIS6.0使我们能够指定应用程序池,以实现Web服务器上托管的各应用程序所需的隔离程度。   ...总之,在IIS6.0进程模型下,asp.net运行的更快,因为在inetinfo.exe可执行进程和工作进程之间,不需要任何进程间的通信。http请求直接在托管CLR的工作进程中被交付。...此外,asp.net工作进程不是一个特俗进程,它只是IIS工作进程的一个副本。这一事实将进程回收、页面输入缓存和运行状况检查的负担(转交给IIS)。

    1.7K00

    ASP.NET Core托管和部署Linux实操演练手册

    一、课程介绍 ASP.NET Core 是一种全新的跨平台开源 .NET 框架,能够在 IIS、Nginx、Apache、Docker 上进行托管或在自己的进程中进行自托管。...作为一个.NET Web开发者,我最伤心的时候就是项目开发部署时面对Windows Server上贫瘠的解决方案,同样是神器Nginx,Win上的Nginx便始终不如Linux上的所幸.ASP.NET...上安装Nginx 8、使用IIS 在 Windows 上托管 ASP.NET Core 9、使用Nginx 在 Linux 上托管 ASP.NET Core 如果您对本次分享课程《ASP.NET...2.2、asp.net core web服务器HTTP.sys和Kestrel以及特点 2.3、asp.net core两种托管模型以及如何选择 1)、Inprocess(进程内托管) 2)、Outofprocess...(进程外托管) 3)、那么问题来了两种托管模型我们该如何进行选择?

    91220
    领券