基于HTTP 协议的GET和POST请求服务

近来项目中用到了SOA(面向服务架构),提到SOA不免就想到 webService,例如:java里面的CXF、XFIRE、AXIS技术等;C#中的WCF等。

但是以上的webservice有的时候对于某些简单场景太过复杂,那么就有了基于HTTP协议的简单的GET和POST的方式。

下面以C#为例。

MVC 中Controller就是很好的入口。

Get方式:

 <span style="white-space:pre">	</span>[HttpGet]
        [ValidateInput(false)]
        public Boolean TestGet(Int64 Param1,int <span style="font-family: Arial, Helvetica, sans-serif;">Param2</span><span style="font-family: Arial, Helvetica, sans-serif;">, string </span><span style="font-family: Arial, Helvetica, sans-serif;">Param3</span><span style="font-family: Arial, Helvetica, sans-serif;">,string </span><span style="font-family: Arial, Helvetica, sans-serif;">Param4</span><span style="font-family: Arial, Helvetica, sans-serif;">)</span>
        {
<span style="white-space:pre">		</span>//TODO:逻辑处理
<span style="white-space:pre">		</span>return ture;
<span style="white-space:pre">	</span>}
外部访问:Http://localhost:[port]/[ControllerName]/TestGet? Param1=[参数]&Param2=[参数]&Param3=[参数]&Param4=[参数]

Post方式:

 <span style="white-space:pre">	</span>[HttpPost]
        [ValidateInput(false)]
        public Boolean TestPost()
        {
            var hri = HttpContext.Request.InputStream;
            var readStream = new StreamReader(hri,Encoding.UTF8);
<pre name="code" class="html"><span style="white-space:pre">	</span>    String callbackxml<span style="font-family: Arial, Helvetica, sans-serif;"> = readStream.ReadToEnd();</span>

 
 
<span style="white-space:pre">	</span>    return true;
<span style="white-space:pre">	</span>}
外部访问:Http://localhost:[port]/[ControllerName]/TestPost 将传入参数通过request写入,然后通过response获取返回值。

很多时候这种轻量级的方式适用于简单的需求。



你可能感兴趣的:(post,get)