NancyFx 2.0的开源框架的使用-HosingOwin

时间:2022-08-31 18:43:03

Nancy框架的Owin使用

先建一个空的Web项目

NancyFx 2.0的开源框架的使用-HosingOwin

NancyFx 2.0的开源框架的使用-HosingOwin

然后往Nuget库里面添加Nancy包

  • Nancy
  • Nancy.Owin
  • Nancy.ViewEnglines.Spark

NancyFx 2.0的开源框架的使用-HosingOwin

然后添加Models,Module,Views三个文件夹

NancyFx 2.0的开源框架的使用-HosingOwin

往Models文件夹里面添加Index类

public string StatusMessage { get; set; }

NancyFx 2.0的开源框架的使用-HosingOwin

然后往Module文件夹里面添加MainModule类

public MainModule()
{
Get("",Lexan=>Root(Lexan));
}
private object Root(dynamic o)
{
var env = GetOwinEnvironmentValue<IDictionary<string, object>>(this.Context.Items, NancyMiddleware.RequestEnvironmentKey);
if (env==null)
{
return "未在 owin 主机上运行";
}
var requestMethod = GetOwinEnvironmentValue<string>(env,"owin的请求方法");
var requestPath = GetOwinEnvironmentValue<string>(env,"owin的请求路径");
var owinVersion = GetOwinEnvironmentValue<string>(env,"owin的版本");
var statusMessage = string.Format("向 {1} 发出了一个 {0} 请求, 它在 owin 上运行{2}",requestMethod,requestPath,owinVersion);
return View["Root",new Models.Index { StatusMessage=statusMessage}];
}
private static T GetOwinEnvironmentValue<T>(IDictionary<string,object> env,string name,T defaultValue=default(T))
{
object value;
return env.TryGetValue(name,out value)&& value is T ?(T)value:defaultValue;
}

NancyFx 2.0的开源框架的使用-HosingOwin

然后在根目录添加一个Startup类

   public void Configuration(IAppBuilder app)
{
app.UseNancy();
}

NancyFx 2.0的开源框架的使用-HosingOwin

然后在Views文件夹中添加Root.html

<viewdata model="HostingOwinDemo.Models.Index" />
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Nancy Owin Host</title>
</head>
<body>
<h1>Nancy Owin Host</h1>
<p>这是通过 OWIN 宿主渲染的视图 ${Model.StatusMessage}</p>
</body>
</html>

NancyFx 2.0的开源框架的使用-HosingOwin

然后修改Web.config配置文件

  <appSettings>
<add key="owin:HandleAllRequests" value="true"/>
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5.2"/>
<!--<httpRuntime targetFramework="4.5.2"/>-->
<httpRuntime maxRequestLength=""/>
<pages controlRenderingCompatibilityVersion="4.0"/>
</system.web>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength=""/>
</requestFiltering>
</security>
</system.webServer>

NancyFx 2.0的开源框架的使用-HosingOwin

然后按F5进行调试运行,有点乱码

NancyFx 2.0的开源框架的使用-HosingOwin

谢谢欣赏

NancyFx 2.0的开源框架的使用-HosingOwin的更多相关文章

  1. NancyFx 2&period;0的开源框架的使用-Basic

    这是NancyFx开源框架中的Basic认证,学习一下! 首先当然是新建一个空的Web,BasicDemo 继续在项目中添加Nuget包,记得安装的Nuget包是最新的预发行版 Nancy Nancy ...

  2. NancyFx 2&period;0的开源框架的使用-CustomModule&lpar;自定义模块&rpar;

    NancyFx框架的自定义模块 新建一个空的Web项目 然后通过NuGet库安装下面的包 Nancy Nancy.Hosting.Aspnet 然后添加Models,Module,Views三个文件夹 ...

  3. NancyFx 2&period;0的开源框架的使用-ModelBinding&lpar;实现绑定&rpar;

    NancyFx框架中使用绑定模型 新建一个空的Web程序 然后安装Nuget库里面的包 Nancy Nancy.Hosting.Aspnet Nancy.ViewEnglines.Spark 并在We ...

  4. NancyFx 2&period;0的开源框架的使用-Authentication

    新建一个空的项目 新建好了空的项目以后,接着通过NuGet安装一下三个包 Nancy Nancy.Hosting.Aspnet Nancy.ViewEnglines.Razor 然后在项目中添加Mod ...

  5. NancyFx 2&period;0的开源框架的使用-Forms

    同样的像前面2篇博文一样,每个项目的开始基本都是建个空的Web项目 在NuGet库中安装以下几个NuGet包 Nancy Nancy.Authentication.Forms Nancy.Hostin ...

  6. NancyFx 2&period;0的开源框架的使用-Stateless

    同样和前面一样新建一个空的Web项目,都在根目录添加Module,Models,Views文件夹 添加Nuget包 在Models文件夹里面添加UserModel类 public string Use ...

  7. NancyFx 2&period;0的开源框架的使用-Stateless&lpar;二&rpar;

    继续上一篇Stateless的博文,在上一篇的博文的基础上稍微加点东西 接下来右键解决方案添加新项目,一样建一个空的Web项目 然后在StatelessDemoWeb项目里面添加Views文件夹,Sc ...

  8. NancyFx 2&period;0的开源框架的使用-AspnetBootstrapping

    新建一个空的Web项目AspnetBootstrappingDemo 然后添加NuGet组件 Nancy Nancy.Hosting.Aspnet Nancy.ViewEngines.Razor 继续 ...

  9. NancyFx 2&period;0的开源框架的使用-Caching

    新建一个空的Web项目,命名CachingDemo 然后添加三个Nuget安装包 Nancy Nancy.Hosting.Aspnet Nancy.ViewsEngines.Razor 然后往项目里面 ...

随机推荐

  1. 浅谈servlet

    刚开始接触servlet的时候,其实不是太理解servlet的,后来经过慢慢摸爬滚打式的的学习,有了一点自己的理解. servlet的产生还要从Java和HTTP说起: Java的servletAPI ...

  2. JSP九大内置对象的作用和用法总结?

    JSP九大内置对象的作用和用法总结? 1.request对象javax.servlet.http.HttpServletRequest request对象代表了客户端的请求信息,主要用于接受通过HTT ...

  3. JS产生随机一注彩票

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  4. swift中JSon数据的处理

    import UIKit class MainTabBarViewController: UITabBarController { override func viewDidLoad() { supe ...

  5. Chapter 1 First Sight——17

    Once I got around the cafeteria, building three was easy to spot. 我一走出自助餐厅,很容易看见建筑三. A large black & ...

  6. 前后端数据加密传输 RSA非对称加密

    任务需求:要求登陆时将密码加密之后再进行传输到后端. 经过半天查询摸索折腾,于是有了如下成果: 加密方式:RSA非对称加密.实现方式:公钥加密,私钥解密.研究进度:javascript与java端皆已 ...

  7. Django组件之Form表单

    一.Django中的Form表单介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入 ...

  8. Ajax中onreadystatechange函数不执行,是因为放在open&lpar;&rpar;后

    今天动手写Ajax时遇到的问题:按照下面的顺序来写Ajax,功能是alert出txt文档的内容,在Chrome下可以执行onreadystatechange中的事件,在IE11及以下.FF就不能执行o ...

  9. Linux配置定时,使用 crontab -e 与 直接编辑 &sol;etc&sol;crontab 的区别

    转自:http://blog.csdn.net/catoop/article/details/41821395 版权声明:本文为博主原创文章,未经博主允许不得转载. Linux配置定时任务,大家都知道 ...

  10. vimrc同步文档

    目录 vimrc ims.vim vimrc if has("syntax") syntax on endif set nocompatible "取消vi 兼容模式 & ...