dotnet rest实现

最近项目用到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一起使用更加拉风

http://www.cnblogs.com/wcgwolf/archive/2008/10/16/1312244.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值