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

Nancy框架的Owin使用

先建一个空的Web项目

然后往Nuget库里面添加Nancy包

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

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

往Models文件夹里面添加Index类

public string StatusMessage { get; set; }

然后往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;
        }

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

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

然后在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>

然后修改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="1048576"/>
    <pages controlRenderingCompatibilityVersion="4.0"/>
  </system.web>
  <system.webServer>
    <security>
      <requestFiltering>
        <requestLimits maxAllowedContentLength="1048576000"/>
      </requestFiltering>
    </security>
  </system.webServer>

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

谢谢欣赏

转载于:https://www.cnblogs.com/R00R/p/6876212.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值