[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; }

    }

 

输出:

[HTTP]Nonocast.http post方法

 

代码:

 

引用:

Source Code

http://nodata.codeplex.com/

Nuget

http://nuget.org/packages/Nonocast.Http

 

你可能感兴趣的:(http)