OWIN是Open Web Server Interface for .NET
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的更多相关文章
- 【译】OWIN: Open Web Server Interface for .NET
主要是使用 OAuth 时,它运行在 OWIN 上,然后又出了若干问题,总之,发现对 IIS.ASP.NET 和 OWIN 理解一塌糊涂. 后面看到 OWIN: Open Web Server Int ...
- Python Web Server Gateway Interface -- WSGI
了解了HTTP协议和HTML文档,我们其实就明白了一个Web应用的本质就是: 浏览器发送一个HTTP请求: 服务器收到请求,生成一个HTML文档: 服务器把HTML文档作为HTTP响应的Body发送给 ...
- Notes on PEP333 (Python Web Server Gateway Interface)
This note is about PEP3333- Python Web Server Gateway Interface. Refer to (Source: http://legacy.pyt ...
- 【Python Programe】WSGI (Web Server Gateway Interface)
Part1: What is a Web server? 一个位于物理服务器上的网络服务器(服务器里的服务器),等待客户端去发送request,当服务器接收到request,就会生成一个respons ...
- 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 ...
- Python的WSGI(Web Server Gateway Interface)服务器
Python的WSGI(Web Server Gateway Interface)服务器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- 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 ...
- [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 ...
- Web Server PROPFIND Method internal IP Discosure
Title:Web Server PROPFIND Method internal IP Discosure --2012-11-09 09:47 Nessus扫描出来一个安全缺陷,Web Serv ...
随机推荐
- POJ 3270
黑书上的经典题了.我说说解这个题的巧妙的地方吧. 首先,竟然和置换联系起来了.因为其实一个交换即至少可以使其中一个元素到达指定位置了.和循环置换联合起来,使得一个循环内的数可以一步到达指定位置,很巧妙 ...
- 小胖说事30------iOS 强制转成横屏的方式
一直遇到这个问题,今天最终找到了解决方法. 在我们的项目中常常遇到横竖屏切换,而又有某个特定的界面必须是特定的显示方式(横屏或竖屏).这就须要例如以下的处理了. 强制转成横屏: if ([[UIDev ...
- POJ2449题解
先讲一个为了少打一些代码而滥用继承终于接受慘痛教训的故事. #include <cstdio> #include <algorithm> #include <queue& ...
- CoreData(数据库升级 )版本迁移-iOS App升级安装
版权声明:本文为博主原创文章,未经博主允许不得转载. 如果IOS App 使用到CoreData,并且在上一个版本上有数据库更新(新增表.字段等操作),那在覆盖安装程序时就要进行CoreData数据库 ...
- 超便携式截屏录屏软件FastStone Capture
超便携式截屏录屏软件FastStone Capture
- SpringMVC(一) 简单代码编写,注解,重定向与转发
SpringMVC是什么 SpringMVC是目前最好的实现MVC设计模式的框架,是Spring框架的一个分支产品,以SpringIOC容器为基础,并利用容器的特性来简化它的配置.SpringMVC相 ...
- MySQL学习(三)——Java连接MySQL数据库
1.什么是JDBC? JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库.原来我们操作数据库是在控制台使用SQL语句来操作数据 ...
- 叁、js中的css
一.子选择器:用来选择一个父元素直接的子元素,不包括子元素的子元素,它的符号为“>” 注:ie6不支持子代选择器. <!DOCTYPE html PUBLIC "-//W3C// ...
- 全国所有省市县地理坐标Json格式
https://www.cnblogs.com/yzbubble/p/7707129.html
- django框架-Admin管理站点搭建
在django框架中,admin基本上算是已经写好了的,拿过来进行简单的处理即可以使用的,相对于flask来说已经是相当的便捷了. 在使用中,步骤如下: 1.管理界面本地化:即将英文标题等的变成中文, ...