[HTTP]Nonocast.http post方法
Nonocast.Http is a free, open source developer focused web service via http for small and medium software.
The library implement HTTP1.1 protocal and also support WebSockets.
在项目中需要Post content body。body包含一些序列化数据。
Server:
public class Program : SmallHTTPServiceBase
{
static void Main(string[] args)
{
new Program().Run(); Console.WriteLine("press any key to exit.");
Console.ReadLine();
} private void Run()
{
this.Open();
} // http://localhost:7005/Action/Default
//public ActionResult Default()
//{
// return new ContentResult("<h1>hello world</h1>");
//} public ActionResult Default(Arguments arg)
{
var ctx = ChannelContext.Current;
byte[] buffer = new byte[ctx.ContentLength];
ctx.Stream.Read(buffer, 0, ctx.ContentLength);
Console.WriteLine(Encoding.UTF8.GetString(buffer)); return new ContentResult("ok");
} }
Client:
public class Program
{
static void Main(string[] args)
{
new Program().Run(); Console.WriteLine("press any key to exit.");
Console.ReadLine();
} private void Run()
{
Device d = new Device { Id = "ssdasdsadadadsadqweqwe", Version = null };
string data = JsonConvert.SerializeObject(d);
string url = string.Format(@"http://localhost:7005/Action/Default");
HttpWebResponse result = null;
HttpStatusCode statusCode = HttpStatusCode.NotFound;
using (result = (HttpHelper.RawPostByJson(url, data) as HttpWebResponse))
{
if (result != null)
{
statusCode = result.StatusCode;
} }
}
} public class Device
{
public string Id { get; set; }
public string Version { get; set; }
}
输出:
代码:戳
引用:
Source Code
Nuget
http://nuget.org/packages/Nonocast.Http
[HTTP]Nonocast.http post方法的更多相关文章
- javaSE27天复习总结
JAVA学习总结 2 第一天 2 1:计算机概述(了解) 2 (1)计算机 2 (2)计算机硬件 2 (3)计算机软件 2 (4)软件开发(理解) 2 (5) ...
- mapreduce多文件输出的两方法
mapreduce多文件输出的两方法 package duogemap; import java.io.IOException; import org.apache.hadoop.conf ...
- 【.net 深呼吸】细说CodeDom(6):方法参数
本文老周就给大伙伴们介绍一下方法参数代码的生成. 在开始之前,先补充一下上一篇烂文的内容.在上一篇文章中,老周检讨了 MemberAttributes 枚举的用法,老周此前误以为该枚举不能进行按位操作 ...
- IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法
直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...
- 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例
前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...
- [C#] C# 基础回顾 - 匿名方法
C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...
- ArcGIS 10.0紧凑型切片读写方法
首先介绍一下ArcGIS10.0的缓存机制: 切片方案 切片方案包括缓存的比例级别.切片尺寸和切片原点.这些属性定义缓存边界的存在位置,在某些客户端中叠加缓存时匹配这些属性十分重要.图像格式和抗锯齿等 ...
- [BOT] 一种android中实现“圆角矩形”的方法
内容简介 文章介绍ImageView(方法也可以应用到其它View)圆角矩形(包括圆形)的一种实现方式,四个角可以分别指定为圆角.思路是利用"Xfermode + Path"来进行 ...
- JS 判断数据类型的三种方法
说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ...
随机推荐
- 通过CSS 给界面必选项添加星号
在制作网页的时候,如果一个选项是必填的,通常会给选项添加一个红色星号,来引起用户的注意:最近笔者刚好遇见一个类似的需求,本来可以用html标签和style就可搞定,由于笔者需要改动的界面比较多(六个) ...
- ffmpeg源码分析三:transcode_init函数 (转3)
原帖地址:http://blog.csdn.net/austinblog/article/details/25061945 transcode_init()函数是在转换前做准备工作的.下面看看其源代码 ...
- Linux实战教学笔记39:Mha-Atlas-MySQL高可用方案实践(一)
一,mysql-mha环境准备 1.1 实验环境: 主机名 IP地址(NAT) 描述 mysql-db01 eth0:192.168.0.51 系统:CentOS6.5(6.x都可以) 安装:mysq ...
- 纸牌游戏CardBattle的设计与开发
- spark属性
应用属性 属性名 缺省值 意义 spark.app.name (none) The name of your application. This will appear in the UI and i ...
- 远程连接MySQL数据库报错:is not allowed to connect to this MYSQL server的解决办法
1. 改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入MySQL后,更改 "mysql" 数据库里的 " ...
- ios学习杂记
commond + alt + enter Xcode分屏.拖动xib连线
- ProxyPattern(23种设计模式之一)
设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置原则 设计模式六大原则(4):接口隔离原则 设计模式六大原则(5):迪米特法则 设计模式六大 ...
- Mysql中自定义函数编程
1.语法 1.1 新建函数 Create function function_name(参数列表) returns 返回值类型 函数体 (1)函数名,应该合法的标识符,并且不应该与已有的关键字冲突. ...
- XSS的原理分析与解剖:第三章(技巧篇)【转】
0×01 前言: 关于前两节url: 第一章:http://www.freebuf.com/articles/web/40520.html 第二章:http://www.freebuf.com/art ...