下载首页 | 资讯中心 | 下载分类 | 最近更新 | 排 行 榜 | 国产软件 | 国外软件 | 汉化补丁 |
文章搜索: 分类 关键字 收藏本站设为首页
您的位置:首页网页设计ASP程序 → 关于C#下写的Web Service 服务在Delphi下调用时的问题__教程
关于C#下写的Web Service 服务在Delphi下调用时的问题__教程
日期:2007-5-20 1:23:31 人气:58     [ ]
上一页 [1] [2] 下一页
 关于C#下写的Web Service 服务在Delphi下调用时的问题

首先我觉得有必要把.net平台下开发webservice进行一个比较全面的阐述,web service的最初产生是在电子商务的环境下出现的,有些问题通过传统的手段已经不容易解决,比如在应用程序之间进行商务通信、数据交换,使用DCom、CORBA等二进制机制的东西已经行不通了,姑且不说他们受各自平台的限制,比如DCom(Distribute Common Objects Model)只能在Windows平台下进行,而CORBA(Common Objects Request Broker Architecture)又只是Java平台下的产物。他们要实现应用程序之间的数据通信是比较困难的。

在这种背景下,Web Services 应运而生,它很好的解决了跨语言、跨平台以及良好而安全的穿透企业防火墙。它的体系结构大体上分为五个层次:

HTTP(HyperText Transfer Protocol)信道下进行数据通信
XML(Extensable Markup Language)数据表达形式
SOAP(Simple Objects Access Protocol)的数据封装
WSDL(WebServices Description Language)的描述语言格式
UDDI(Universal Description and Discovery Integration) 统一的描述、发现和集成
作为它的优点跨语言、跨平台以及良好而安全的穿透企业防火墙已经足以使我们感到兴奋了。不过它也存在需要改善的地方,比如:

HTTP进行数据通信存在速度较慢的情况,尤其是第一次联结。
需要一台Web Server这一额外的开销
说了WebServices的体系结构以及其优点缺点以后我们切入正题,那就是我们这次讨论的话题:

Web Service 服务在Delphi下调用时的问题

闲话少说,我们用一个检验WebMethod的Attribute的一个简单的例子进行阐述:它是完成一次从客户A转帐到B的一个简单商务过程。

首先我们在.NET FrameWork1.1下创建一个WebService,这时候.net会帮我们自动创建一个Web应用

我们需要创建一个类AttributeTest,它是在命名空间NameSpace AttributeTesting下的,那么这个类它将自动继承了它的基类 System.Web.Services.WebService,需要支出的时,我们可以对这个Web应用类设置其WebServiceAttribute,其中基本属性包括Description 和NameSpace

[WebServiceAttribute(Namespace="http://www.isdoo.com/services",

Description="Hello Ansel,This is a testing Web Service!")]

public class AttributeTest : System.Web.Services.WebService
{

[WebMethodAttribute(Description="描述信息:继承了Count方法,并且对名称进行重载。执行的是把钱从A用户转帐到B用户......",
//MessageName="Changing MessageName",
BufferResponse=true,
CacheDuration=1000,
EnableSession=true,
TransactionOption=TransactionOption.RequiresNew)]
public string transMoney(double Money)
{
try
{
ContextUtil.EnableCommit();//Transaction only used to Database operation!
MoneyInToA(Money);
MoneyOutFromB(Money);
ContextUtil.SetComplete();
return "Transaction Successful,total "+Money.ToString();
}
catch( Exception e)
{
ContextUtil.SetAbort();
return "Transaction failed! \n\r "+e.Message;
}
}
private void MoneyInToA(double Money)
{
SqlCommand sqlCom = new SqlCommand("update budget set Money=Money+"+Money.ToString()+" where Name='A'");
databaseAccess myDatabase = new databaseAccess();
sqlCom.Connection=myDatabase.getConnection();
sqlCom.Connection.Open();
sqlCom.ExecuteNonQuery();
sqlCom.Connection.Close();
//throw new Exception("Operation failed when transfer money into A!");
}

private void MoneyOutFromB(double Money)
{
SqlCommand sqlCom = new SqlCommand("update budget set Money=Money-"+Money.ToString()+" where Name='B'");
databaseAccess myDatabase = new databaseAccess();
sqlCom.Connection=myDatabase.getConnection();
sqlCom.Connection.Open();
sqlCom.ExecuteNonQuery();
sqlCom.Connection.Close();
//throw new Exception("Operation failed when transfer money from B!");
}

}
出处:本站原创 作者:佚名
 阅读排行
01.精美qq空间横幅代码
02.最酷qq个性女生网名
03.最新又有免费QQ秀啦《..
04.巧用透明FlaSh扮靓你的..
05.花之神匠代码(最新代码..
06.最新QQ空间免费导航
07.最新免费个人形象设置..
08.最新qq空间flash代码m..
09.CSS技术结合图像实现动..
10.Photoshop光影魔术师:..
11.QQ音速种子狂刷
12.最新QQ空间透明代码
13.PS实例教程:教你制作结..
14.Photoshop光影魔术师:..
15.制作背景图__教程
16.用Photoshop制作漂亮的..
17.如何获得QQ音速种子
18.≤QQ空间代码≥在日志..
19.网页浮动广告的制作代..
20.用Photoshop制作大红灯..
21.常用CSS
22.Photoshop给靓丽美女打..
 推荐文章
·Photoshop 表现技法之..
·快速将你的相片矢量化..
·PHOTOSHOP制作炽热的太..
·用Photoshop制作美丽的..
·流行杀手的娃娃工厂__..
·打造8号台球__教程
·PHOTOSHOP制作待机MM图..
·用Photoshop帮MM做纹身..
·PHOTOSHOP美眉着色绝招..
·PHOTOSHOP花露的制作_..
·PHOTOSHOP渐变工具的巧..
·PHOTOSHOP手绘奥兰多-..
·高难度抠图两种方法__..
·Photoshop高尔夫球的制..
·Photoshop打造精美玉佩..
Eqxia_COM下载站 版权所有 Copyright© 2001-2005 Www.eqxia.COM, All Rights Reserved.