日期:2014-05-17  浏览次数:20512 次

使用PHP Snoopy同步数据到.net系统

??? 很久没有做web了,今天一个同事朋友说她那里有需求将PHP网站数据同步到.net网站系统里面,给自己下面的人做了几天都没有结果,呵呵。请求帮忙,这个很简单。跨语言通讯2000年时候最流行就是使用Corba了(叫什么公用对象XX框架,华为管理电信机房东东就这个做了,C++和java通讯),目前简单实现就是webservice或RPC,远程网站开一个请求入口,本地去请求这个入口返回xml数据解析。类似这样的服务。通常java对PHP使用 RMI或Hessian等框架,PHP对其他语言使用Hessian或http Snoopy通讯,Actionscript对PHP或java使用amf或其他RPC通讯框架。好了,不卖官子了。我大概就讲讲snoopy对.net实现数据同步。

??? 一·在.net系统公开一个接口,简单说就是写.aspx页面接收远程数据(在本例就是远程网站用户注册以后的信息如用户id,用户姓名等)。建立一个RemoteService.aspx页面大致代码如下:

??? String userid=Resquet.QueryString("userid");

String userName=Resquet.QueryString("userName");

SqlConnection

con = new SqlConnection("server=xx;database=school;uid=sa;pwd=luodongfu");
comm = new SqlCommand("insert into XXX() ..."");

?? 下面就是把这些东西保存到你.net数据库了,几年没有用过.net,忘记了自己google看一下。别忘记做安全以及重复验证哦,这里。

?

?二 .在php? Discuz 的lib引入snoopy.php (自己去下载)注册成功返回页面上如下些:

include("snoopy.php");

$snoopy = new Snoopy;

$formvars["userName"] = "luodongfu";

$formvars["userid"] = "123456";

这个网站及就是我们上面写的那个系统页面了

$action = "http://www.luodongfu.cn/RemoteService.aspx"/;//表单提交地址

$snoopy->submit($action,$formvars);//$formvars为提交的数组

?

ok,就这么简单,半个小时搞定,那应该算时间都太多了。这是最简单的基本功,呵呵