• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

.net2.0rest实现(c#)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

     怎么 还有人在看这个啊 ,去学wcf啊

 

 

最近项目用到rest web service

     rest 就不介绍了,网上多的是,闲话少说。

     建一个服务器端类

namespace MyWeb
{
    public class MyjInteger : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {


            if (context.Request.ContentType.Equals("text/p1"))
            {
                Encoding encoding = Encoding.GetEncoding("utf-8");

                Stream instream = context.Request.InputStream;

                byte[] bytes = new byte[instream.Length];
                instream.Read(bytes, 0, bytes.Length);

                // 设置当前流的位置为流的开始
                instream.Seek(0, SeekOrigin.Begin);

                string sData = encoding.GetString(bytes);
                context.Response.Write("您输入的是:"+sData);
            }
            else if (context.Request.ContentType.Equals("text/p2"))
            {
                string output = context.Request.QueryString["input"].ToString();
                context.Response.Write(output);
            }
            else
            {
                context.Response.Write(context.Response.ContentType.ToString());
            }
      
        }
 

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

 

生成DLL,App_Code.dll,建一个空站点,引用这个DLL,web.config添加

 

  <httpHandlers>
   <add type="MyWeb.MyjInteger, App_Code" path="MyjInteger/*" verb="*"/>

  </httpHandlers>

http://*/WebSite1/MyjInteger/ 这个地址就可以访问了

添加客户端页面

    protected void Page_Load(object sender, EventArgs e)
    {


        Encoding encoding = Encoding.GetEncoding("utf-8");

        byte[] postdata = encoding.GetBytes("好啊啊啊啊"); //所有要传参数拼装
        // Prepare web request...
   
        HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(http://*/WebSite1/MyjInteger/);
        myRequest.Method = "POST";
        myRequest.ContentType = "text/p1";
        myRequest.ContentLength = postdata.Length;
        Stream newStream = myRequest.GetRequestStream();
        // Send the data.
        newStream.Write(postdata, 0, postdata.Length);
        newStream.Close();
        // Get response
        HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
        StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
        string content = reader.ReadToEnd();

        Response.Write(content);
    }

 

 

返回结果:您输入的是:好啊啊啊啊

通过HttpWebRequest  方式访问,简单的rest架构,和json一起使用更加拉风

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#中ESRI.ArcGIS.esriSystem的引用问题发布时间:2022-07-14
下一篇:
c#文件的追加发布时间:2022-07-14
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap