框架系列~OwinSelfHost自宿主的使用

简介:

在进入mvc5之后,OWIN变更很主推,很热,关于OWIN的文章也就出来了,下面阅读了dudu和一些园友的文章,自己也做了一个SelfHost的程序,测试了一下,感觉还是比较有Core的风格,可能也是面向多平台部署考虑的吧!

OWIN的英文全称是Open Web Interface for .NET。

如果仅从名称上解析,可以得出这样的信息:OWIN是针对.NET平台的开放Web接口。

那Web接口是谁和谁之间的接口呢?是Web应用程序与Web服务器之间的接口,OWIN就是.NET Web应用程序与Web服务器之间的接口。

大叔喜欢的一句话:OWIN将多种应用框架使用统一的接口来实现各框架之间的适配!

下面是WEB测试DEMO的一段代码,它可以添加多种登陆的策略

DUDU文章:http://www.cnblogs.com/dudu/p/what-is-owin.html

安装OWIN自宿主的包包

Install-Package Microsoft.AspNet.WebApi.OwinSelfHost

添加startup这个类,主要为应用程序的入口

    /// <summary>
    /// OWIN应用程序入口
    /// </summary>
    public partial class Startup
    {
        public void Configuration(IAppBuilder app)
        {

            HttpConfiguration config = new HttpConfiguration();

            config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
            );
            //将默认xml返回数据格式改为json
            config.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
            config.Formatters.JsonFormatter.MediaTypeMappings.Add(new QueryStringMapping("datatype", "json", "application/json"));

            app.UseWebApi(config);
            // 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888

        }
    }

添加几个测试用的Controller,其实就是webapi或者webmvc里的controller,这里以webapi为例,来说一下。

   public class HomeController : ApiController
    {
        public object Get()
        {
            return new { code = 1, msg = "OK HomeController" };
        }
    }
    public class VideoController : ApiController
    {
        public object Get()
        {
            return new { code = 2, msg = "OK VideoController" };
        }
    }

添加主程序的入口,在入口中我们将添加startup的注入点,让Owin为我们启动这个startup!

     string baseAddress = "http://192.168.2.71:9000/";
     Microsoft.Owin.Hosting.WebApp.Start<Startup>(url: baseAddress);
     Console.WriteLine("程序已启动,按任意键退出");
     Console.ReadLine();

下面我们打开浏览器,访问一下URL即可看到时结果了

 本文转自博客园张占岭(仓储大叔)的博客,原文链接:框架系列~OwinSelfHost自宿主的使用,如需转载请自行联系原博主。

目录
相关文章
|
关系型数据库 API 数据库
盘点10个.NetCore实用的开源框架项目
盘点10个.NetCore实用的开源框架项目
2794 0
盘点10个.NetCore实用的开源框架项目
|
监控 小程序 JavaScript
讯飞-微信小程序-语音助手
讯飞-微信小程序-语音助手
378 1
讯飞-微信小程序-语音助手
|
5月前
|
存储 人工智能 自然语言处理
DeepSeek R1+Ollama+Cherry Studio实现本地知识库的搭建
本文介绍了如何使用Ollama和CherryStudio搭建本地知识库,涵盖核心组件介绍、硬件与软件准备、模型部署流程及知识库构建方法。通过配置DeepSeek R1模型、嵌入模型和Cherry Studio平台,实现本地化自然语言处理与知识检索功能。
1660 0
|
开发框架 .NET 程序员
驾驭Autofac,ASP.NET WebApi实现依赖注入详细步骤总结
Autofac 是一个轻量级的依赖注入框架,专门为 .NET 应用程序量身定做,它就像是你代码中的 "魔法师",用它来管理对象的生命周期,让你的代码更加模块化、易于测试和维护
498 4
驾驭Autofac,ASP.NET WebApi实现依赖注入详细步骤总结
|
监控 Go 数据处理
iLogtail 进化论:重塑可观测采集的技术边界
iLogtail 作为一款开创性的轻量级日志采集器,历经 13 载风雨,始终致力于高效地从多元化的数据源中萃取、处理可观测信息,并无缝传输至阿里云日志服务或各类日志分析平台。今年,适逢 iLogtail 开源两周年的里程碑时刻,我们将回顾 iLogtail 的技术演进之路,领略其不断突破边界、引领可观测采集未来的创新力量。
699 118
|
关系型数据库 MySQL Go
MySQL连接错误1045:完美解决指南
MySQL连接错误1045:完美解决指南
11685 0
|
Prometheus 监控 Cloud Native
微服务的监控与可观测性
【8月更文第29天】在微服务架构中,确保每个服务的健康状态和性能表现是非常重要的。为了达到这一目标,我们需要实施一套完整的监控和可观测性方案。本篇文章将介绍如何通过日志、指标和追踪来监测微服务的状态和性能,并提供相应的代码示例。
1009 1
必知的技术知识:Excel通过身份证获取出生年月,性别,年龄,生肖,星座,省份等信息总结归纳
必知的技术知识:Excel通过身份证获取出生年月,性别,年龄,生肖,星座,省份等信息总结归纳
857 0
|
前端开发 Java API
WebSocket vs SSE: 实时数据推送到前端的选择与实现(详细)
WebSocket vs SSE: 实时数据推送到前端的选择与实现(详细)
2464 0
|
存储 编解码 缓存
海康摄像头开发笔记(一):连接防爆摄像头、配置摄像头网段、设置rtsp码流、播放rtsp流、获取rtsp流、调优rtsp流播放延迟以及录像存储
Hik防爆摄像头录像,因为防爆摄像头会有对应的APP软件,与普通的网络摄像头和球机不一样,默认认为它不可以通过web网页配置,所以弄了个来实测确认。经测试实际上也是可以通过web网页配置(与网络摄像头基本是一致的,在码流方面可能会有些不一样),然后提取rtsp流的,界面与球机无异,只是没有球机的云台控制功能,但是界面上也是有的。
海康摄像头开发笔记(一):连接防爆摄像头、配置摄像头网段、设置rtsp码流、播放rtsp流、获取rtsp流、调优rtsp流播放延迟以及录像存储

热门文章

最新文章