http://owin.org/

Servers and Hosts

Frameworks

Implementations

Out of date or deprecated

新建一个Owin项目

打开VS2015,新建Web应用程序,命名为OwinWeb(名字随意)。

在弹出的“新建ASP.NET项目”窗口中选择“Empty”模板,“为以下项添加文件夹和核心引用”处全不选。点击确定。

创建完后,解决方案如下所示。空的,干净的。

打开NuGet包管理器,

在"浏览"Tab页的输入框中输入owin,回车。在结果中选择“Microsoft.Owin.Host.SystemWeb”,右侧选择安装到的项目,点击安装按钮。

安装过程中会弹出如下窗口,点击确定。从这个窗口中可以看到要安装的程序集,及它的依赖项。本次安装将会向项目中添加如下图所示的三个DLL引用。

安装完成后,打开解决方案资源管理器,可以看到与安装前变化。

按F5,运行,会得到如下提示。正常的,因为还缺少内容,Owin已参与到请求处理,但还没有正确配置。

在解决方案资源管理器中,在项目上右键,添加》类。

命名为Startup,名字必须为此名字(实际可以改的,但如果改为别的名字,就需要更多的配置。这是最少配置下的约定命名)。

在新建的类中添加Configuration方法,注意要添加相应的using

        public void Configuration(IAppBuilder app)
{
app.Run(context =>
{
context.Response.ContentType = "text/plain";
return context.Response.WriteAsync("Hello World!");
});
}

好了,再次F5运行,结果如下:

是不是很简单。

==========================================================

下面讲一下Startup另外的添加方法,及使用自定义命名

添加后如下所示

在Configuration方法中添加如下代码:

            app.Run(context =>
{
context.Response.ContentType = "text/plain";
return context.Response.WriteAsync("Hello World!");
});

F5运行,页面显示正常。不是说不是Startup的名字的时候必须得有另外的配置才能行吗?这怎么也可以?

看上图命名空间声名的上面一行

[assembly: OwinStartup(typeof(OwinWeb.MyOwinStartup))]

就是这句话起的作用,让Owin找到了入口在哪里。

试试 ,把这行注释掉,再F5运行,看到你期待的页面了吧。^_^

=======================================================

再来换一种方式:

保持[assembly: OwinStartup(typeof(OwinWeb.MyOwinStartup))]的注释,

打开Web.Config文件,添加如下配置:

F5,运行。Ok了吧?

OWIN是Open Web Server Interface for .NET的更多相关文章

  1. 【译】OWIN: Open Web Server Interface for .NET

    主要是使用 OAuth 时,它运行在 OWIN 上,然后又出了若干问题,总之,发现对 IIS.ASP.NET 和 OWIN 理解一塌糊涂. 后面看到 OWIN: Open Web Server Int ...

  2. Python Web Server Gateway Interface -- WSGI

    了解了HTTP协议和HTML文档,我们其实就明白了一个Web应用的本质就是: 浏览器发送一个HTTP请求: 服务器收到请求,生成一个HTML文档: 服务器把HTML文档作为HTTP响应的Body发送给 ...

  3. Notes on PEP333 (Python Web Server Gateway Interface)

    This note is about PEP3333- Python Web Server Gateway Interface. Refer to (Source: http://legacy.pyt ...

  4. 【Python Programe】WSGI (Web Server Gateway Interface)

    Part1: What is a Web server? 一个位于物理服务器上的网络服务器(服务器里的服务器),等待客户端去发送request,当服务器接收到request,就会生成一个respons ...

  5. a simple and universal interface between web servers and web applications or frameworks: the Python Web Server Gateway Interface (WSGI).

    WSGI is the Web Server Gateway Interface. It is a specification that describes how a web server comm ...

  6. Python的WSGI(Web Server Gateway Interface)服务器

    Python的WSGI(Web Server Gateway Interface)服务器 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任.

  7. Setting up Django and your web server with uWSGI and nginx

    https://uwsgi.readthedocs.io/en/latest/tutorials/Django_and_nginx.html Setting up Django and your we ...

  8. [r]Setting up Django and your web server with uWSGI and nginx

    Setting up Django and your web server with uWSGI and nginx This tutorial is aimed at the Django user ...

  9. Web Server PROPFIND Method internal IP Discosure

    Title:Web Server PROPFIND Method internal IP Discosure  --2012-11-09 09:47 Nessus扫描出来一个安全缺陷,Web Serv ...

随机推荐

  1. Chrome的JSON View插件

    Chrome的JSON View插件 学习了:http://www.cnplugins.com/zhuanti/five-chrome-json-plugins.html 下载了:http://www ...

  2. 设计网页录入信息与自己定义server数据接收

    需求:设计一个注冊网页用于录入username和登录password.并将数据传入server并显示出来. 1.前言:网页提交的 get 和 post 两种方式. (1)对于get提交方式,以本文中样 ...

  3. nmq 提交到 npm

    安装npm install nmq 源码:https://github.com/ronwe/nmq 此版本提供 pub/sub , 优化 pull

  4. 嵌入式外部中断控制编程方法论—比較CC2541(51核)和S5PV210(ARM核)

    这是一篇阐述怎样对嵌入式SOC外部中断进行控制编程的方法论文章.希望读者理解本篇文章后.能够具备对市场上全部已经面世和将来面世的嵌入式芯片的外部中断进行控制编程的能力. 笔者原创的技术分享一直都恪守下 ...

  5. Android 启动界面的制作

    直接看实例吧 package com.example.textview; import android.app.Activity; import android.content.Intent; imp ...

  6. L2CAP数据发送和接收

    ACL 链路在 Bluetooth 中非常重要,一些重要的应用如 A2DP, 基于 RFCOMM 的应用.BNEP等都要建立 ACL 链路,发送/接收ACL 包.跟大家一起来分析 ACL 包发送/接收 ...

  7. nyoj--914--Yougth的最大化(二分查找)

    Yougth的最大化 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 Yougth现在有n个物品的重量和价值分别是Wi和Vi,你能帮他从中选出k个物品使得单位重量的价值最 ...

  8. git使用(公钥私钥产生--远程库添加公钥--本地库关联远程库-使用)

    原文1:http://www.cnblogs.com/wangmingshun/p/5424767.html 原文2(指令):http://blog.csdn.net/xiaohanluo/artic ...

  9. VSCode向上的代码提示消除

    VSCode虽然好用, 但是有些用户体验实在非常差, 比如这种往上面弹的类型提示... 在用户设置中增加: "editor.parameterHints": false

  10. mysql实战45讲 (三) 事务隔离:为什么你改了我还看不见 极客时间读书笔记

    提到事务,你肯定不陌生,和数据库打交道的时候,我们总是会用到事务.最经典的例子就是转账,你要给朋友小王转100块钱,而此时你的银行卡只有100块钱. 转账过程具体到程序里会有一系列的操作,比如查询余额 ...