Nancy 寄宿IIS
一:简介
- 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并不依赖任何现有的框架,所以他可以运行在任何平台上面。
二:创建空白的项目

三:引用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;
Nancy 寄宿IIS的更多相关文章
- WCF 非http寄宿IIS
摘要 从IIS 7 开始, IIS增加了对非HTTP协议的支持. 因此, 自IIS 7之后, 可以将NetTcpBinding等非HTTP协议的Bindings直接寄宿在IIS上面. 本文将介绍如何在 ...
- WCF服务寄宿IIS与Windows服务 - C#/.NET
WCF是Windows平台下程序间通讯的应用程序框架.整合和 .net Remoting,WebService,Socket的机制,是用来开发windows平台上分布式开发的最佳选择.wcf程序的运行 ...
- 微软 WCF的几种寄宿方式,寄宿IIS、寄宿winform、寄宿控制台、寄宿Windows服务
WCF寄宿方式是一种非常灵活的操作,可以在IIS服务.Windows服务.Winform程序.控制台程序中进行寄宿,从而实现WCF服务的运行,为调用者方便.高效提供服务调用.本文分别对这几种方式进行详 ...
- WCF服务寄宿IIS与Windows服务
WCF是Windows平台下程序间通讯的应用程序框架.整合和 .net Remoting,WebService,Socket的机制,是用来开发windows平台上分布式开发的最佳选择.wcf程序的 ...
- WCF寄宿IIS
1.创建一个简单的wcf项目 创建完成后直接运行,结果 然后进行发布 在IIS上新建一个网站,直接进行发布即可 遇到的问题 请求与通配符 mime 映射相匹配.请求映射到静态文件处理程序. 需要注意的 ...
- Nancy 寄宿OWin
一:创建一个空项目 二:安装模板 Install-Package Nancy Install-Package Nancy.Owin Install-Package Microsoft.Owin ins ...
- (1)WCF少废话系列之 _Hello WCF!
本节旨在通过实例的方式让初学者对WCF有一个感性的认识,坚持由特殊到普遍再由普遍到特殊的认知规律. WCF(Windows Communication Fundation),微软分布式通信架构的集合, ...
- [转载]我的WCF之旅(1):创建一个简单的WCF程序
为了使读者对基于WCF的编程模型有一个直观的映像,我将带领读者一步一步地创建一个完整的WCF应用.本应用功能虽然简单,但它涵盖了一个完整WCF应用的基本结构.对那些对WCF不是很了解的读者来说,这个例 ...
- [ASP.NET]谈谈REST与ASP.NET Web API
13天的假期结束,赶紧回来充电了 本节目录 Web API简介 自我寄宿 IIS寄宿 调用Web API Web API原理 Web API简介 REST REST是“REpresentational ...
随机推荐
- 2017-2018-2 20165325 实验三《Java面向对象程序设计》实验报告
一.敏捷开发与XP实践-1 1.检查点要求 实验三 敏捷开发与XP实践 http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替换成IDEA ...
- 2018 Multi-University Training Contest 1 杭电多校第一场
抱着可能杭电的多校1比牛客的多校1更恐怖的想法 看到三道签到题 幸福的都快哭出来了好吗 1001 Maximum Multiple(hdoj 6298) 链接:http://acm.hdu.edu. ...
- Python-简单打印进度条
import sys,time ): sys.stdout.write("#") sys.stdout.flush() time.sleep(0.1) #sys.stdout.wr ...
- 【转】C++标准转换运算符static_cast
static_cast<new_type> (expression) 虽然const_cast是用来去除变量的const限定,但是static_cast却不是用来去除变量的static引用 ...
- linux学习之硬盘的存储原理和内部架构
原文地址:https://blog.csdn.net/tanggao1314/article/details/52074735 首先,让我们看一下硬盘的发展史: 1956年9月13日,IBM的IBM ...
- where(泛型类型约束)
.NET支持的类型参数约束有以下五种: where T : struct T必须是一个结构类型 where T : class T必须是一个类(class)类型,不能是结构(structure)类型 ...
- pppd[15863]: Terminating on signal 15
由于广网于网上pptp服务器和client之间存在一些问题: 1)windows 客户端出现619 或800等错误 ----极有可能是服务器端未开启nat-t功能 2)ubunut 客户端没有拿到IP ...
- 【原创】Java基础之简单修改jar包中的class
有时需要修改很多jar(假设这些jar都位于lib目录)中其中一个jar中的某一个类,而且又没有原始代码或ide,这时最简单的方式是: 1 进入lib目录 # cd lib # ls test.jar ...
- HTML网页背景图很长要有滚动条滑动
1 前言 由于网页背景图非常长,然后会出现只显示当前页面,后面部分看不到,也不能滑动,开始以为不能滑动应该是没有加overflow-y: auto(scroll),结果加上去也是无效的. 2 代码 & ...
- 32)django-modelform
一:mdoelform modelform是model和form结合 model+form =>验证+数据库 class A(model): user= pass= Form: class Lo ...