Nancy 寄宿IIS

一:简介

  • Nancy是一个轻量级的独立的框架,下面是官网的一些介绍:
  • Nancy 是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET 和 Mono 平台,框架的目标是保持尽可能多的方式,并提供一个super-duper-happy-path所有交互。
  • Nancy 设计用于处理 DELETEGETHEADOPTIONSPOSTPUT 和 PATCH 等请求方法,并提供简单优雅的 DSL 以返回响应。
  • Nancy和Asp.net MVC原理相似,但有自己的一套路由机制,在使用上更加易用,可以用Nancy快速开发一些网站。
  • Nancy并不依赖任何现有的框架,所以他可以运行在任何平台上面。

二:创建空白的项目

三:引用nancy类库文件 Nancy.dll  和 Nancy.Hosting.AspNet.dall文件

    public class HomeModule : NancyModule
    {
        public HomeModule()
        {
            Get["/home/get"] = parameters => "Hello World";
        }
    }

    public class HomeModule : NancyModule
    {
        public HomeModule():base("/home")
        {
            Get["/home/get"] = parameters => "Hello World";
        }
    }

四、将Nancy项目发布到IIS中

    public class HomeModule : NancyModule
    {
        public HomeModule() : base("/home")
        {
            //同步
            Get["/get/{name}"] = parameters =>
            {
                return parameters.Name;
            };

            Post["/GetMore"] = p =>
            {
                var name = Request.Form["name"];
                var age = Request.Form["age"];
                var address = Request.Form["address"];
                return $"姓名{name},年龄{age},地址{address}";
            };

            //异步
            Get["/GetOne", true] = async (p, k) =>
            {
                return "这是一个异步的get请求";
            };

            Post["/Add", true] = async (p, k) =>
            {
                var name = Request.Form["name"];
                var age = Request.Form["age"];
                var address = Request.Form["address"];
                var phone = Request.Form["phone"];
                return $"姓名{name},年龄{age},地址{address},手机{phone}";
            };
        }
    }

五、新建项目请求

Get请求
      HttpClient client = new HttpClient();
      var result = await client.GetAsync("http://localhost:166/home/Getone");
      var p = result.Content.ReadAsStringAsync().Result;
Post请求

             HttpContent content = new StringContent("name=xiaoming&age=20&address=beijingchaoyang&phone=15212341234");
            //如果不正确会导致Request.From 获取不到数据
            content.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");
            HttpClient client = new HttpClient();
            var result = await client.PostAsync("http://localhost:166/home/Add", content);
            var p = result.Content.ReadAsStringAsync().Result;

 

转载于:https://www.cnblogs.com/xiaoyaodijun/p/7110446.html

什么是Nancy呢?如果你学习过Ruby的话,就会知道Ruby中有个框架叫做Sinatra,Nancy就是Sinatra的.Net版本。如果你感觉微软的MVC过于笨重、过于繁琐,那么Nancy可能就是你苦苦寻找的东西。Nancy是一个轻量级的独立的框架,下面是官网的一些介绍:Nancy 是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET 和 Mono 平台,框架的目标是保持尽可能多的方式,并提供一个super-duper-happy-path所有交互。Nancy 设计用于处理  DELETE ,  GET ,  HEAD ,  OPTIONS ,  POST ,  PUT   和 PATCH  等请求方法,并提供简单优雅的 DSL 以返回响应。Nancy和Asp.net MVC原理相似,但有自己的一套路由机制,在使用上更加易用,可以用Nancy快速开发一些网站。Nancy并不依赖任何现有的框架,所以他可以运行在任何平台上面。官方网站 http://nancyfx.org/ 更详细的介绍参见 http://blog.spinthemoose.com/2011/07/18/nancy-a-micro-web-framework-for-net/ 顺便介绍个使用Nancy 做的Quartz.net的web控制台 https://quartznetwebconsole.codeplex.com/ 参考文章:使用Nancy和Simple.Data两个轻量级的框架打造一个分布式开发系统(一)Frictionless .NET Web App Development with NancyFrictionless .NET Web App Development with Nancy Part II - Introducing a View EngineFrictionless .NET Web App Development with Nancy Part III - Introducing MongoDBFrictionless .NET Web App Development with Nancy Part IV – Hosting Slides from ANUG talk on Nancy扩展NoteService,支持NancyFx用Nancy和Simple.Data创建一个图片博客 第一部分:开始一个工程用Nancy和Simple.Data创建一个图片博客 第二部分:定义routes用Nancy和Simple.Data创建一个图片博客 第三部分:渲染一些ViewsIntegrating Nancy with protobuf-netBuild Simple Web UIs with the Nancy Framework轻量级MVC框架:Nancy学习 标签:web框架
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值