近来项目中用到了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获取返回值。