C# .NET MVC 接收 JSON ,POST,WCF 无缝隙切换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# .NET MVC 接收 JSON ,POST,WCF 无缝隙切换相关的知识,希望对你有一定的参考价值。

用来与HTTP 模式的WCF 无缝隙切换。

服务端是MVC。

在Home/About 上面加 [HttpPost]。读取Request.InputStream 中所有内容。然后返回JSON给客户端:return Json(c1);。

 

 

 [HttpPost]
        public ActionResult About()
        {
            
            string dfCharSet = "utf-8";
            if (Request.QueryString["charset"] != null)
                dfCharSet = Request.QueryString["charset"];
            Encoding ec = Encoding.GetEncoding(dfCharSet);
            string inStr = string.Empty;
            using (StreamReader sr = new StreamReader(Request.InputStream, ec))
            {
                inStr = sr.ReadToEnd();
            }
            Models.Class1 c1 = new Models.Class1();
            c1.name = "服务器";
            c1.inStr = inStr;
        Response.ContentEncoding = ec;
return Json(c1); }

 

 

 

客户端。POST JSON 到服务端,接收服务端返回的JSON。建议用HttpWebRueqest.

 try
            {
                Class1 c1 = new Class1();
                c1.name = "客户端";
                c1.inStr = "";

                string input = JsonConvert.SerializeObject(c1);

                byte[] bts = Encoding.UTF8.GetBytes(input);
                byte[] btRst;

                using (WebClient wc = new WebClient())
                {
                    string url = "http://localhost:52844/Home/About";

                    wc.Encoding = Encoding.UTF8;
                    btRst = wc.UploadData(url, "post", bts);
                }
                string rst = Encoding.UTF8.GetString(btRst);
                MessageBox.Show(rst);
            }
            catch (Exception ex)
            { MessageBox.Show(ex.Message); }

-

 

以上是关于C# .NET MVC 接收 JSON ,POST,WCF 无缝隙切换的主要内容,如果未能解决你的问题,请参考以下文章

C# WebApi 通过 body 从 C# MVC 接收 json

c# MVC 如何接收 Json 数据

.net core 1.1.0 MVC 控制器接收Json字串 (JObject对象) (二)

.net mvc服务端怎么接收客户端的发送的json数据?

如何从 ASP.net MVC 程序中获取纯 c# 程序中的 JSON 数据?

如何将 C# 属性指定给 ASP.NET MVC 中的 Json 对象?