首页
学习
活动
专区
圈层
工具
发布

Asp.Net WebApi核心对象解析(二)

在谈WebApi处理架构之前,我们还是来看一下微软为WebApi提供的海报,这里就不拿图了,需要看的可以点击下载:下载地址     Asp.Net Web Api处理架构可以分为三层,分别是托管层、消息处理程序管道...托管层:位于WebApi和底层HTTP栈之间,是最底层负责WebApi托管。        消息处理程序管道层:用与实现消息的横切关注点,例如日志和缓存。        ...二.WebApi托管方式解析:     在Asp.Net Web Api的托管方式有三种,接下来我们来大致了解一下这三种托管方式。        ...(1).在任何Windows进程中自托管。        (2).Web托管,即在IIS之上使用ASP.NET管道进行托管。...五.总结:    本文分为上下两篇,简单的介绍类一下Asp.Net WebApi的一些核心对象,并简单介绍了Asp.Net WebApi路由机制,处理架构,托管方式等等,如有不足和错误之处还望多多指正。

3.9K100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    杂(一)

    部署 虚拟主机(新建一个网站就是一个虚拟主机): 可以为不同网站绑定同一个 IP 和端口,然后根据主机头(IIS8 上面改称为主机名)的不同来访问不同的站点。...IIS 也支持虚拟目录: 一个站点的网页的存储位置目录是固定的,而且结构和物理保存网页的磁盘路径相同。....Net Core 部署配置 首先安装 .Net Core SDK 然后安装 AspNetCoreModule 托管模块: DotNetCore.x.x.x-WindowsHosting.exe 然后重启服务器或使用管理员命令行...触发时机: 物理内存吃紧 分配在托管堆上的内存超出阈值 手动调用 GC.Collect() 方法 HTTPS 重定向 需要 IIS 安装 URL 重写模块。...services.AddMvc() 之后添加 services.AddAutoMapper(); 自定义类并继承自 Profile public class MappingProfile : Profile

    1.1K20

    奉上简单的.Net后端开发模板

    框架结构简单 数据库支持:Mssql, Mysql 构架易于上手 支持良好的业务扩展 是一套基础开发模板 技术选型 开发语言:c# 运行时 .net Framework4.5 IoC:Autofac、Autofac.WebApi2...Dto:AutoMapper 序列化:Newtonsoft.Json Orm:FreeSql Api:Aspnet.WebApi 数据库:首先MSSQL、次先Mysql 缓存:基于List或Dictionary...项目可以被其他所有项目使用 服务层 AppService.Implement和Webapi我都划分在服务层,其中webapi是一个贫血项目,只是把AppService做到WebApi接口化 AppService...接口名称前缀动词:Get:表示查询;Post:提交数据(添加/修改);Delete:移除数据 接口命名规则:接口名前缀+业务名称;以大驼峰命名 接口要进行统一管理 部署规范 IIS托管部署 前端静态资源...,托管到wwwroot目录 ?

    94510

    奉上简单的.Net后端开发模板

    框架结构简单 数据库支持:Mssql, Mysql 构架易于上手 支持良好的业务扩展 是一套基础开发模板 技术选型 开发语言:c# 运行时 .net Framework4.5 IoC:Autofac、Autofac.WebApi2...Dto:AutoMapper 序列化:Newtonsoft.Json Orm:FreeSql Api:Aspnet.WebApi 数据库:首先MSSQL、次先Mysql 缓存:基于List或Dictionary...和Webapi我都划分在服务层,其中webapi是一个贫血项目,只是把AppService做到WebApi接口化 AppService的接口和Model定义,都放到了BAccurate(业务规范项目)中...接口名称前缀动词:Get:表示查询;Post:提交数据(添加/修改);Delete:移除数据 接口命名规则:接口名前缀+业务名称;以大驼峰命名 接口要进行统一管理 部署规范 IIS托管部署 前端静态资源...,托管到wwwroot目录 ?

    1.3K50

    .net 温故知新【11】:Asp.Net Core WebAPI 入门使用及介绍

    一、创建一个WebApi项目 我使用的是VS2022, .Net 7版本。...按照以前asp.net习惯和项目清晰度维护性我们一般是使用Controller的方式,并且不使用顶级语句。 而最小 API,是创建具有最小依赖项的 HTTP API。...响应的headers里面可以看到后端运行的服务器是Kestrel,和我们以前.net framework不一样的事需要借助IIS作为服务器。...4)、错误状态代码的问题详细信息: 将错误结果(状态代码为 400 或更高的状态码)转换为为 ProblemDetails 的结果。也就是说状态码会转换如下json格式返回信息。...,并对创建选项、项目结构、服务要点进行了分析,后面将更进一步学习分享其他asp.net core webapi重要知识。

    3.1K31

    ASP.NET5 Beta8可用性

    更改IIS托管模式 我们已经取得了重大更新,以beta8托管模式ASP.NET 5 IIS。...具有用于ASP.NET 5两种不同宿主模型引入了许多复杂性和矛盾的难以或不可能解决的。为了解决这个问题,我们正在中止“太阳神”IIS主机。...此本机的IIS模块管理的外部应用程序的主机过程的发起(在此情况下dnx.exe)和从IIS请求到托管进程的路由。 简化模型到一个托管选项(但仍支持在同一场景)用于开发人员的代码和测试更少的东西。...统一的错误处理在所有服务器启动错误 守则和行为统一 在.NET框架(全CLR)是否运行时,支持的app.config自托管或在IIS中(即使是用于.NET Framework的兼容性没有更多的web.config...您可以选择使用不同的命令运行DNU发布时使用,而不是--iis命令选项。 有关这些更改IIS托管模式的详细信息,请参见相应的公告。 本地化 ASP.NET 5现在已经内置了对本地化支持。

    2.5K160

    Asp.NetCore Web开发之创建项目

    这一节,讲一下如何创建一个Asp.netCore Web项目,有两种常用的方式,一种是通过.NetCore SDK使用命令创建,另一种如果你使用的VisualStudio,可以直接根据引导创建。...先看第一种,使用SDK创建,首先你要安装 .NetCore SDK,下载链接我会贴在文章尾, 下载时选择这个,另外,你如果想把项目托管到IIS上,还要安装一个Hosting,选择上图第一个选项...安装完成以后,选择一个合适的文件夹(一定要是空的),在路径框中键入cmd,打开命令行 在命令行中键入 dotnet new mvc 回车,这时SDK会自动工作帮你创建一个MVC模板,或者如果你想创建...web api程序,就键入dotnet new webapi 。...你会看到很多模板,最常用的就是红框中的三项,下面以第三项MVC为例进行创建。 创建完成,你会在解决方案浏览框看到新建的MVC项目文件。

    1.2K20

    WebApi 和 WebService的区别

    Q 什么WebApi? A: WebApi是一种用来开发系统间接口、设备接口API的技术,基于Http协议,请求和返回格式结果默认是json格式。...A: Web Service是一个平台独立的、耦合的、自包含的、基于可编程的web的应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的交互操作的应用程序。...Web Service技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。...依据Web Service规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么,都可以相互交换数据。...序号 WebApi WebService 1 无状态,开源,部署在IIS和应用程序上 有状态,不开源,只能部署在IIS上 2 基于HTTP协议,数据格式为纯文本,Response可以被Web API的MediaTypeFormatter

    2.1K10

    Windowsapp_windowsserver是什么

    AppFabric 托管管理提供了一些具有控制、监控和查询功能的工具,可以更加轻松地管理正在运行的工作流实例。 您还可以通过标准方式配置 WAS 和 WAS 内托管的应用程序。...必要时,可以恢复、挂起、取消或终止暂留的工作流实例以及启动或停止服务。 由于用户界面基于 IIS Manager,因此基于 WCF 和 WF 的服务的管理员体验和工具与 Web 应用程序的类似。...可以查看暂留的工作流实例或跟踪工作流实例。 在 IIS Manager 中,可以在单一对话框中查看服务的配置。...AppFabric 包括一个安装 AppFabric 托管和缓存功能的安装向导以及一个配置这些功能的配置向导。 您还可以使用 WebAPI 安装 AppFabric。...Web 部署工具与 IIS 和 Visual Studio 环境集成,因此您可以直接从 Visual Studio 中轻松打包和部署服务,或直接从 IIS Manager 部署预先打包的应用程序。

    1.6K30

    基于ASP.NET WebAPI OWIN实现Self-Host项目实战

    引用 寄宿ASP.NET Web API 不一定需要IIS 的支持,我们可以采用Self Host 的方式使用任意类型的应用程序(控制台、Windows Forms 应用、WPF 应用甚至是Windows...一、摘要 本期同样带给大家分享的是阿笨在实际工作中遇到的真实业务场景,请跟随阿笨的视角去如何实现采用微软的ASP.NET OWIN技术承载WebAPI服务,如果您对本期的教程内容感兴趣,那么请允许让阿笨带着大家一起学习吧...原理图 4.3、那么我们今天要解决的问题可以总结为下面的一句话: 如何让WEB网页端直接以HTTP方式访问本地桌面客户端,就像访问远程IIS上的Web应用程序一样?...4.4、实现WEB应用程序的Self-Host解决方案 通过HttpListener实现简单的Http服务(.NET 2.0+) 基于WCF堆栈的自宿主SelfHosting 采用ASP.NET...五、涉及覆盖的知识点 ASP.NET WebAPI HttpSelfHost/OWIN 如何以桌面应用程序方式,宿主承载WebApi服务; ASP.NET WebAPI HttpSelfHost/OWIN

    1.3K20

    快速入门系列--WebAPI--04在老版本MVC4下的调整

    WebAPI是建立在MVC和WCF的基础上的,原来微软老是喜欢封装的很多,这次终于愿意将http编程模型的相关细节暴露给我们了。...在WebAPI v1.0(和ASP.NET MVC4在一起的版本)很多的类和接口并不存在,同时对Task异步编程(ApiController默认提供异步执行方法)的支持还有一些欠缺(缺少不少方便的扩展方法...路由设置 在Global.asax文件中需要注意WebApi的路由要先于MVC的路由进行注册,不然会出现路由无效的情况。...其他小知识点 WebAPI的托管,包括通过System.Web.Http.WebHost.dll的IIS托管,配置对象为GlobalConfiguration;自托管的配置,通过Mocrosoft.AspNet.WebApi.Selfhost...快速入门系列--WebAPI--01基础 快速入门系列--WebAPI--02进阶 快速入门系列--WebAPI--03框架你值得拥有 快速入门系列--WebAPI--04在老版本MVC4下的调整 参考资料

    1.4K60

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

    所以,WCF服务的宿主选项可以有多种选项: (1)、控制台应用程序 (2)、服务器环境,如 Internet 信息服务 (IIS) (3)、Windows 进程激活服务 (WAS) 管理的工作进程内运行的...二、WCF宿主环境主要有以下几种 1、托管应用程序中的自承载 WCF服务可以承载与任何托管应用程序中,这是最灵活的选项,因为它需要部署的基础结构最少,在托管应用程序代码内嵌入服务代码,然后创建并打开 ServiceHost...)和Windows 窗体 (WinForms) 应用程序的代码实例,因为本人不常用这两种技术开发,所以不多做解释 3、托管Windows服务 此宿主选项注册WCF服务作为托管Windows服务(以前成为...与自承载选项一样,此类型的宿主环境要求作为应用程序的一部分编写某些宿主代码。 ...在未激活消息的安全环境中,由托管 Windows 服务宿主选项启用的方案是承载于 IIS 之外、长时间运行的 WCF 服务的方案。 服务的生存期改由操作系统控制。

    2.3K80

    ASP.NET Core基础补充01

    从托管的角度来看,一个ASP.NET Web 应用程序可以通过两种方式托管,即进程托管(InProcess)或进程外托管(OutOfProcess)。...注:当我们使用任何模板创建新 ASP.NET Core Web 应用程序时,默认情况下,使用InProcess 托管创建项目文件,该托管用于在 IIS 或 IIS Express 方案中托管应用程序。...右键单击项目,然后从上下文菜单中选择属性选项。打开属性窗口后,选择"调试"并查看"托管模型"下拉列表的值,如下图所示。下拉列表包含三个值,即默认值(进程内)、进程内和进程外。...什么是 IIS Express? IIS Express 是 IIS 的轻量级自包含版本。它针对 Web 应用程序开发进行了优化。...内部 Web 服务器称为Kestrel,外部Web 服务器可以是IIS、Nginx****或 **Apache。**使用 InProcess 托管模型时,只有一个Web 服务器,即 IIS。

    1.1K10

    提升Azure App Service的几个建议

    本文介绍了6个技巧,这些技巧可以改善Azure App Service托管应用程序的性能。...关闭空闲休眠 如果你有将应用程序部署到IIS的经历,那么你应该知道IIS在一段时间不活动之后将休眠(这个配置在IIS理默认是20分钟)。 Azure App Service延续了这一传统。...下面的改进需要一些其他网络规划或重组(某些情况下,还需要更改应用程序本身) 这一组技巧中的主题是缩短数据在网络上传输的距离 4....让你的服务资源相距更近 比如常规的WebApi服务,需要搭建App Service和Database,建议你把资源放在同一区域协同工作,不然一次请求,处理链路会满世界跑。 5....+ 本文翻译整理自:https://www.telerik.com/blogs/nine-performance-tips-for-azure-app-services

    1.1K10
    领券