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

引用

寄宿ASP.NET Web API 不一定需要IIS 的支持,我们可以采用Self Host 的方式使用任意类型的应用程序(控制台、Windows Forms 应用、WPF 应用甚至是Windows Service)作为宿主。

一、摘要

本期同样带给大家分享的是阿笨在实际工作中遇到的真实业务场景,请跟随阿笨的视角去如何实现采用微软的ASP.NET OWIN技术承载WebAPI服务,如果您对本期的教程内容感兴趣,那么请允许让阿笨带着大家一起学习吧! 废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。

你想要的干货都在这

四、需求分析

4.1、上期回顾

上一期我们分享了基于开源SuperSocket实现客户端和服务端通信项目实战实现了WEB网页提交打印数据给WEB服务端,WEB服务端将接受的打印数据通过Socket通讯服务器推送给指定的客户端。 我们能否简化上面的调用过程步骤呢? 直接让客户端将打印数据给本地的客户端,而无须再通过Socket通讯服务器进行中转。

4.2、原理图

原理图

4.3、那么我们今天要解决的问题可以总结为下面的一句话:

如何让WEB网页端直接以HTTP方式访问本地桌面客户端,就像访问远程IIS上的Web应用程序一样?

4.4、实现WEB应用程序的Self-Host解决方案

通过HttpListener实现简单的Http服务(.NET 2.0+) 基于WCF堆栈的自宿主SelfHosting 采用ASP.NET HttpSelfHost来承载WebAPI服务 (.NET 4.0+) 采用ASP.NET OWIN来承载WebAPI服务(.NET4.5微软推荐使用) 等等......

五、涉及覆盖的知识点

ASP.NET WebAPI HttpSelfHost/OWIN 如何以桌面应用程序方式,宿主承载WebApi服务; ASP.NET WebAPI HttpSelfHost/OWIN 如何让服务端支持CROS跨越访问; IE10.0 以下浏览器通过XDomainRequest实现CORS访问;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ImportSource

并发编程-多线程的好处

上一文:并发编程-并发的简史 如果线程使用得当,多线程可以降低你的开发和维护成本,而且还能改善复杂应用程序的性能。多线程让模仿人类工作方式以及交互变得简单,多线...

37860
来自专栏walterlv - 吕毅的博客

如何编写 WPF 的标记扩展 MarkupExtension,即便在 ControlTemplate/DataTemplate 中也能生效

发布于 2018-05-29 12:56 更新于 2018-05...

17010
来自专栏魏琼东

应用SAAS结构技术的开源药店管理系统-源代码结构说明

一、药店系统内容说明 在前些时间,我们发布了一个基于AgileEAS.NET平台的SAAS结构的案例-AgileEAS.NET平台开发实例-药店系统-快速的SA...

35190
来自专栏杨建荣的学习笔记

shell脚本心得(r2笔记58天)

零零星星的接触到写一些shell也有一些日子了,发现自己已经犯了不少的错误,自我总结下。 选择合适的shell shell本身有很多种,大体有如下的几种。 /...

32680
来自专栏.net core新时代

数据字典生成工具之旅(1):开篇有益

       最近在做公司需求的时候,发现一个很低效的点,在建表的时候需要使用公司自己开发的建模工具进行创建表,一个字段一个字段的复制粘贴让人受不了。于是萌发了...

46890
来自专栏VMCloud

【解析向】腾讯云的Windows Server日志配置收集工具是个什么鬼?(3)

回顾上篇,解释了场景“2”中的四个标签,也介绍了对应着Windows Server中的四个功能在日常运维中究竟起到什么作用以及如何去驾驭他们。

577130
来自专栏iOSDevLog

生意参谋 App 需求 分析 编码 GUI 交付 Licence

还有一个登录的问题,我这里用最简单的,获取 Chrome 的 cookie,放到请求头中。

19820
来自专栏happyJared

用Python统计你的简书数据

  说来也巧,之前有一次无意间留意到简书好像没有做文章总阅读量的统计(准确的说法应该叫展示),刚好最近有时间,趁这个机会就用Python写了这么个功能,既是学习...

19510
来自专栏友弟技术工作室

程序员必知必会的那些邪恶的脚本

朝圣 前言 程序员必须掌握一定的运维知识。本文通过一些邪恶,搞破坏的方式。教会你一些危险的脚本操作。 附赠 运维意识与运维规范 1.线上操作规范 ...

35570
来自专栏walterlv - 吕毅的博客

阻止某个 NuGet 包意外升级

2018-06-29 09:59

17320

扫码关注云+社区

领取腾讯云代金券