Nancy 寄宿IIS

简介: 原文:Nancy 寄宿IIS一:简介 Nancy是一个轻量级的独立的框架,下面是官网的一些介绍: Nancy 是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET 和 Mono 平台,框架的目标是保持尽可能多的方式,并提供一个super-duper-happy-path所有交互。
原文: 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;

 

目录
相关文章
|
Windows
WCF服务寄宿到IIS
一.WCF简介: Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台。整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有HTTP和FTP的相关技术。
1046 0
|
数据格式 Windows JSON
微软 WCF的几种寄宿方式,寄宿IIS、寄宿winform、寄宿控制台、寄宿Windows服务
WCF寄宿方式是一种非常灵活的操作,可以在IIS服务、Windows服务、Winform程序、控制台程序中进行寄宿,从而实现WCF服务的运行,为调用者方便、高效提供服务调用。本文分别对这几种方式进行详细介绍并开发例子进行说明,以求大家对WCF寄宿的方式进行全面的认识和了解。
1004 0
|
XML 网络协议 数据格式
WCF技术剖析之三:如何进行基于非HTTP的IIS服务寄宿
原文:[原创]WCF技术剖析之三:如何进行基于非HTTP的IIS服务寄宿 在上面一篇文章中,我们对不同版本的IIS,以及ASP.NET得的实现机制进行了详细而深入的分析。在介绍IIS7.0的时候,我们谈到,HTTP.SYS+W3SVC实现了基于HTTP的请求监听,在此基础上引入了以下三组网络监听器(Listener)和监听适配器(Adapter),实现了基于TCP、Named Pipes和MSMQ的网络监听,图1揭示了IIS7的总体结构。
863 0
|
.NET
WCF技术剖析之四:基于IIS的WCF服务寄宿(Hosting)实现揭秘
原文:WCF技术剖析之四:基于IIS的WCF服务寄宿(Hosting)实现揭秘 通过《再谈IIS与ASP.NET管道》的介绍,相信读者已经对IIS和ASP.NET的请求处理管道有了一个大致的了解,在此基础上去理解基于IIS服务寄宿的实现机制就显得相对容易了。
955 0
|
Windows 网络协议 数据格式
WCF:如何将net.tcp协议寄宿到IIS
原文:WCF:如何将net.tcp协议寄宿到IIS 1 部署IIS 1.1 安装WAS IIS原本是不支持非HTTP协议的服务,为了让IIS支持net.tcp,必须先安装WAS(Windows Process Activation Service),即windows进程激活服务。
1079 0
|
1月前
|
JavaScript Windows
VUE部署到IIS中报404错误解决方案-配置URL重写
VUE部署到IIS中报404错误解决方案-配置URL重写
|
4月前
|
Windows
IIS配置MIME类型
IIS配置MIME类型