用asp做web service客户端调用webservice
web service在现在的各系统中得到了广泛的应用。它为我们各系统之间的功能访问,数据交换,起到了不可磨灭的作用。而且还能简化我们的变成,在此就对asp作为webservice客户端稍作探讨。
本文通过将一些具体的业务功能写成XML Web Services并且将这些XML Web Services与ASP程序完美结合,现有的ASP程序就可以象ASP.NET程序一样共同“分享”XML Web Services的好处了。当你需要提升现有ASP程序的性能并且和已经开发的ASP.NET同步,但是有没有时间和精力将这些程序完全修改为ASP.NET程序的时候,我们就可以考虑将ASP和XML Web Services结合使用。
本文将要用到的例子是基于以下现实需要的:在B2B电子商务中,对于一些比较固定的客户,我们可能对他们有一些特殊的折扣。下文中我们将建立一Web Services,这个 Web Services的功能就是针对特殊的客户按照一定规则计算折扣,然后,我们将其与一个简单的ASP程序结合起来应用。
数据库
我们在这里使用微软Access中自带的NorthWind数据库,当然,我们不会照盘全收,我们需要对数据库的“Products”数据表表结构作一些小小的修改:增加一个保存商品实际价格的“CostPrice”字段(我们将填入一些随机数据
Web Service
在文章“Creating and Consuming a Web Service”中已经讨论过,我们可以使用文本编辑器来建立Web Services,比如:WEB Matrix Projext或者VS.NET等工具。文中我们将试验使用VS.NET来建立Web Service。
首先,在VS.NET中建立一个新的ASP.NET工程,然后,删除程序建立的Web Form,增加一个新的Web Service文件(命名为:eCommerce.asmx),在这个Web Service中,将默认的名字空间修改为ClassicASP_nDotNET.eCommerce,并且增加一个名为CalculateDiscountCompanyX的方法。
WEB方法CalculateDiscountCompanyX是一个用于计算公司CompanyX折扣的简单函数(当然,更为健壮的解决方法是写一个通用的函数比如:CalculateDiscount(CompanyID),在这个函数中CompanyID专门用于定义特定的公司编号,然后,程序根据公司编号查找数据库得到具体的公司名称,并对其做出折扣计算。我们这里主要的目的在于演示XML Web Services和ASP程序的结合使用,因此,只用需要一些简单函数。)
在我们的应用中,假设对公司CompanyX的最小折扣为10%,公司最低纯利润为7.5%,这些具体的折扣和利润都是固化写在程序中的。
WEB方法
相关文档:
原文链接:http://www.iwapr.cn/article/daima/30.html
ASP/Visual Basic代码
<%
dim picurl,all_picurl
'皆是全局变量:分别定义图片的链接地址;所有指定文件夹(包括指定文件夹的子文件夹下图片url地址)
picurl="" &n ......
<%Dim connstrconnstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Stu.mdb")
Set bb = Server.CreateObject("ADODB.Connection")
bb.Open connstr%>
<html>
<head>
<meta http-equiv="content-Language" content="zh-cn" />
<meta http-equiv="Content-Type ......
Dim FilePath,FileName
Set ObjFileStream = Server.CreateObject("ADODB.Stream")
ObjFileStream.Type = 1
ObjFileStream.Mode = 3
ObjFileStream.open
ObjFileStream.LoadfromFile FilePath&"\"&FileName&".doc"
ObjFileStream.Position = 0
response.binarywrite  ......
'SQL防注入函数,调用方法,在需要防注入的地方替换以前的request("XXXX")为SafeRequest("XXXX")
'www.yongfa365.com
Function
SafeRequest(ParaValue)
ParaValue =
Trim
(
Request
(Pa ......