首页
学习
活动
专区
工具
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。

16210

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.2K31

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 配置文件,该文件中将存放应用程序运行配置信息,比如数据库连接字符串等。

13710

IIS 5.x与ASP.NET

IIS进程与工作进程之间通过命名管道(Named Pipes)进程通信,以获得最好性能。 工作进程初始化过程,.NET 运行时(CLR)被加载,从而构建了一个托管环境。...图4 IIS 7与ASP.NET ASP.NET集成 从上面对IIS 5.xIIS 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.xIIS 6.0介绍,我们不难发现这一点,IIS与ASP.NET是两个相互独立管道(Pipeline),各自管辖范围...从另一个角度讲,IIS运行在非托管环境,而ASP.NET管道则是托管,从这个意义上讲,ISAPI还是连接非托管环境托管环境纽带。图5反映了IIS 6.0与ASP.NET之间桥接关系。...IIS 6引入了应用程序概念,一个工作进程对应着一个应用程序池。一个应用程序池可以承载一个或者多个Web应用,每个Web应用映射到一个IIS虚拟目录。

1.5K110

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

IIS进程与工作进程之间通过命名管道(Named Pipes)进程通信,以获得最好性能。 工作进程初始化过程,.NET 运行时(CLR)被加载,从而构建了一个托管环境。...,并不执行任何用户代码,所以其本身不会受到Web应用、工作进程IIS进程影响; 内核模式下数据缓存:如果某个资源被频繁请求,HTTP.SYS会把响应内容进行缓存,缓存内容可以直接响应后续请求...图4 IIS 7与ASP.NET ASP.NET集成 从上面对IIS 5.xIIS 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.2K80

ASP.NET5 Beta8可用性

更改IIS托管模式 我们已经取得了重大更新,以beta8托管模式ASP.NET 5 IIS。...使用现有的System.Web托管模式钩子该组件促进DNXCLR引导。这个钩子取代了运行应用程序已经开始(但从IIS角度)之后。...此本机IIS模块管理外部应用程序主机过程发起(在此情况下dnx.exe)IIS请求到托管进程路由。 简化模型到一个托管选项(但仍支持同一场景)用于开发人员代码测试更少东西。...统一错误处理在所有服务器启动错误 守则行为统一 .NET框架(全CLR)是否运行时,支持app.config自托管或在IIS(即使是用于.NET Framework兼容性没有更多web.config...) 统一服务故事 统一启动故事(无奇AspNetLoader.dllbin文件夹) 你会发现,Visual StudioASP.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.01.1版本, CLR会处理掉线程池中未处理异常。...从IIS6开始引入了应用程序概念,应用程序池通过进程来隔离不同应用程序以防止不同应用之间相互影响。部署ASP.NET应用时,应用程序池通常有两种托管管道模式可供选择:集成模式经典模式。...默认情况下,一个应用程序池有一个工作进程,可以根据实际情况设置多个工作进程,但要考虑资源消耗及本地缓存同步问题。 IIS6IIS5工作进程隔离均是服务器级别。...同一台服务器上无法使用不同工作进程隔离模式。从IIS7开始,工作进程隔离模式是基于应用程序,这样就可以同一台服务器上使用不同隔离模式。...IIS与ASP.NET线程池 iis最大连接数队列长度 System.Threading.Tasks.Task引起IIS应用程序池崩溃 HTTP.SYS 详解 IIS执行原理 IIS ASP.NET

89040

.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部署,DeletePut请求被拦截报跨域错误问题

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

1.8K20

学习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.sysKestrel以及特点 2.3、asp.net core两种托管模型以及如何选择 1)、Inprocess(进程托管) 2)、Outofprocess...(进程托管) 3)、那么问题来了两种托管模型我们该如何进行选择?

88920
领券