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

Nancy框架的Owin使用

先建一个空的Web项目

NancyFx 2.0的开源框架的使用-HosingOwin_第1张图片

NancyFx 2.0的开源框架的使用-HosingOwin_第2张图片

然后往Nuget库里面添加Nancy包

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

NancyFx 2.0的开源框架的使用-HosingOwin_第3张图片

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

NancyFx 2.0的开源框架的使用-HosingOwin_第4张图片

往Models文件夹里面添加Index类

public string StatusMessage { get; set; }

NancyFx 2.0的开源框架的使用-HosingOwin_第5张图片

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

public MainModule()
        {
            Get("",Lexan=>Root(Lexan));
        }
        private object Root(dynamic o)
        {
            var env = GetOwinEnvironmentValuestring, 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(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_第6张图片

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

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

NancyFx 2.0的开源框架的使用-HosingOwin_第7张图片

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

"HostingOwinDemo.Models.Index" />



    "utf-8" />
    Nancy Owin Host


    

Nancy Owin Host

这是通过 OWIN 宿主渲染的视图 ${Model.StatusMessage}

NancyFx 2.0的开源框架的使用-HosingOwin_第8张图片

然后修改Web.config配置文件

  
    "owin:HandleAllRequests" value="true"/>
  
  
    "true" targetFramework="4.5.2"/>
    
    "1048576"/>
    "4.0"/>
  
  
    
      
        "1048576000"/>
      
    
  

NancyFx 2.0的开源框架的使用-HosingOwin_第9张图片

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

NancyFx 2.0的开源框架的使用-HosingOwin_第10张图片

谢谢欣赏

你可能感兴趣的:(NancyFx 2.0的开源框架的使用-HosingOwin)