• Nancy总结(一)Nancy一个轻量的MVC框架


      Nancy是一个基于.net 和Mono 构建的HTTP服务框架,是一个非常轻量级的web框架。


      设计用于处理 DELETE, GET, HEAD, OPTIONS, POST, PUT 和 PATCH 等请求方法,并提供简单优雅的 DSL 以返回响应。它提供了一个super-duper-happy-path的交互方式,无需定义各种复杂的路由规则,Nancy会根据你的请求路径自动匹配。Nancy和ASP.NET MVC不同,它更多的是借鉴了Ruby的一些特性。

      Nancy 的特点:
        1. 建立了自下而上的,而不是简单地DSL的现有框架。删除很多不必要的限制和特性,尽可能的只引用你需要的组件。使其保持简单。
        2. 随处运行。Nancy不是建立在任何特定的平台下的的,它可以在任何地方运行。Nancy支持运行在ASP.NET/IIS,WCF,自宿主和任何OWIN。
        3. 定义了非常轻量的 DELETE, GET, HEAD, OPTIONS, POST, PUT 和 PATCH 等请求。
        4. 集成了各种模板引擎(Razor, Spark, dotLiquid 和自带的SuperSimpleViewEngine)。
        5. 强大的请求路径匹配,包括先进的参数功能。路径匹配策略可以使用自定义实现您的各种具体需求。
        6. 简单的Response的语法,可以返回int、string、HttpStatusCode无需显式地转换或封装你的Response——你只是返回你的参数,其他的Nancy会帮你完成。
        7. 一个强大的、轻量级的、测试框架帮助您验证您的应用程序。

      官方网站 : http://nancyfx.org/
      Github : https://github.com/NancyFx/Nancy

      1. 安装Nancy

        PM> Install-Package Nancy

        PM> Install-Package Nancy.Hosting.Aspnet //Nancy For Asp.net

        PM> Install-Package Nancy.Viewengines.Razor 

        注意:要安装三个Nancy相关的包。

          Nancy ,

          Nancy.Hosting.Aspnet ,  Nancy 的  Asp.net 环境

          Nancy.Viewengines.Razor  提供Razor视图支持,

      2. 创建一个空的MVC 项目, ASP.NET Hosting

      3. 定义一个Bootstrapper.cs 类,参考例子里面的bootstrapper.cs文件

        记得配置静态文件目录,Nancy 的路由机制,所有的请求包括静态文件,都得走路由。所以得在bootstrapper.cs 文件里面配置,否则,会访问不到。

      

     protected override void ConfigureConventions(Nancy.Conventions.NancyConventions nancyConventions)
       {
           base.ConfigureConventions(nancyConventions);
           nancyConventions.StaticContentsConventions.Add(Nancy.Conventions.StaticContentConventionBuilder.AddDirectory("/", "public"));
       }

        

        还有,cshtml 或者 html 的文件目录,也得在bootstrapper.cs 中配置,否则会报错找不到cshtml 文件。

        

      4. 创建一个Nancy Module
      

    public class SampleModule : Nancy.NancyModule
    {
      public SampleModule()
      {
        Get["/"] = _ => "Hello World!";
      }
    }
  • 相关阅读:
    elasticsearch + python
    Django中的监控组件Prometheus
    MySQL索引原理以及最左前缀原则
    Insert ignore,还是insert replace还是insert on duplicate key update区别
    PyTorch中Tensor与numpy数据之间时共享的条件:
    在Numpy中numpy.nan显示成-9223372036854775808的缘故
    mac上安装pil报错: ERROR: Could not find a version that satisfies the requirement pil (from versions: none):
    OSError: [Errno 48] Address already in use
    curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
    在实际项目中使用git推代码踩过的坑
  • 原文地址:https://www.cnblogs.com/zhangweizhong/p/3723096.html
Copyright © 2020-2023  润新知