经典的Hello World VFP前端调后端C# Webservice

1.按我设想的三层架构中,VFP是完全可以做为前端UI的,我们可以划分如下三层结构:

图片:三层架构图.jpg[设为封面] [删除]

其实大家看图,都明白大致意思,但是要明白各层数据是怎么流动的,却要云里雾里,我当初也是这么着。看着图,觉得懂了,真正要动手,妈啊,不知道怎么动手。行话是说三层架构是逻辑架构,不是我们物理架构。什么中间层神马的,其实不是主流的说话。

扯完了,我们的题目是VFP调用C#后端,咱跟三层架构扯上什么关系了。好吧,这个是我们最终要到达的目标,我们先来做个这个样子的东东。

图片:三层架构2.jpg[设为封面] [删除]

对于我们VFPUI来讲,我所看见的只是WebService,我管他们几层是如何实现的。好处是VFP程序不如winform 带个很大的运行库,但是在WIN7好像是不是个问题。 那VFP的优势在哪里,延长生命力。

2. 超简单的WebService 架设(VS2010 C#)

1 创建项目 注意 选择 .NET FramWork 2.0 下方才会出现 ASP.NET Web服务应用程序

图片:创建项目.jpg[设为封面] [删除]

名称改为VFPWebservice

2 VS2010 会自动生成所需要的代码,,程序关键在asmx文件,关键内容如下

[WebMethod]

public string HelloWorld()

{

return "Hello World";

}

[WebMethod] 说明这是个对外的服务函数

string HelloWorld() 说明返回的是字符串型,函数名叫HelloWorld

OK,我们的WebService 就建好了。

有同学会问,建好了吗? 我记得VFP做这个好复杂的。

是的,VS2010就这么简单。

点击运行,你打开一个IE,会得到一个网址

图片:2 VFP项目添加WS3CLIENT.jpg[设为封面] [删除]

4 新建一下PRG 文件,输入如下代码

Local loWeatherWS

loWSHandler = Newobject("WSHandler",Iif(Version(2)=0,"",Home()+"FFC\")+"_ws3client.vcx")

loWeatherWS = loWSHandler.SetupClient("http://127.0.0.1:13698/Service1.asmx?wsdl", "", "") && 这个地方要输入刚刚得到的的网址

loxx=loWeatherWS.HelloWorld()

?loxx

5 运行它,你会发现在屏幕上打印了HelloWorld

源码下载。 共有SOAP 方式(需要安装soaptoolkit)和WSHandle 方式调用。

不知道咋放源码。。。