“native”:所有这个OwinHost的支撑组建放在这里。
“site”:我们的OWIN WebApplication 放这里。
“tools”:里面包含了Host的适配器。
“fox.sh”:方便在*nux中启动Host而写的脚本文件。
“fox.bat”:方便在Windows中其中Host而写的批处理文件。
“owin.exe”:这个OwinHost的程序主体。
“owin.exe.config”:配置文件,通过这个可以CLR版本等。
“ReadMe”:读我,使用方法和Q&A。
没了,就这几个东西,结构很简单,功能也很“单纯”,但性能却不简单,采用全异步的事件驱动,同时最大化的继承Jexus高强度抗压抗攻击的优点,最大限度的保证了应用的安全性和稳定性。
比起噜里八嗦的介绍,怎么使用才是读者们真正关注的话题,这里我准备了一个NancyFX作为案例,为各位读者讲解。
首先,很常规的,我们准备了一个采用了OWIN模式的NancyFX的新站。然后加入Adapter.cs文件,这里我把Adapter的代码公开,有需要的读者可以直接拷贝入项目中。
最后修改下NancyFX的默认的根目录设置,具体操作就是新建一个类,让他继承“IRootPathProvider”并重写“GetRootPath”方法即可,代码示例如下:
发布后,把网站的全部内容放入到“root”目录中。
然后双击运行 owin.exe 。
我们就可以在浏览器中正常的访问我们的项目了。
整个Host的大小用7Z打包了仅仅只有1.26M大小。拆开压缩包之后,我们能够发现几个重要的组成,如下图所示:
windows需要安装.NET4以及版本,非Windows操作系统需要安装mono 3.12以上版本;
在 windows上,点击 TinyFox文件夹中的fox.bat,在linux上输入 ./fox.sh 就能运行; 当前版本的默认端口是8088,可以修改 fox.bat (windows)或 fox.sh (非windows) 脚本,在 owin.exe 后边加上 -p 端口号。
自带一个测试项目,访问下面地址
http://local:8088/
http://local:8088/info
http://local:8088/test
你的应用需要基于OWIN开发或者在具有OWIN接口的应用层框架上开发(比如NancyFx),在此基本上,新建一个类(可称为适配器接口),这个类中,必须有一个叫OwinMain的方法(具体格式参见demo),然后把编译后的dll放在网站root的bin文件夹或approot文件夹中。惊鸿哥写了一篇文章OwinHost再添新成员:TinyFox,文章详细介绍了如何部署用了OWIN模式的NancyFX的应用。
Tools目录下Jws.Owin-Adapters.zip中有三个应用示例,base.demo是最能体现OWIN原始定义,msowin.demo是在插件中加载microsoft.owin.dll进入ms处理OWIN的流程,nancy.demo是在ms owin处理流程(管道)中加载NancyFx,运行NancyFx应用层框架。
澳门新葡京娱乐场