下载首页 | 最近更新 | 软件分类 | 下载排行 | 主机托管 | 免费电影 | 网游外挂 | 网页设计 | 幻想春秋 | 剑侠情缘II | 幻想春秋 |
 
网络软件 | 系统工具 | 应用软件 | 破解补丁 | 杀毒软件 | 下载排行 | 软件分类 | 最近更新
游戏娱乐 | 游戏外挂 | 街机游戏 | 安全相关 | 联络聊天 | 图形图像 | 多媒体类 | 行业软件
精品源码 | 精品字体 | 编程开发 | 教育教学 | 音乐视频 | 资讯中心 | 两性频道 | 社会资讯
软件搜索
您现在的位置
真诚网络首页 -> 电子书库电脑教程 -> 怎样创建.NET Web Service(2)
怎样创建.NET Web Service(2)
软件语言: 未知
软件类型: 书籍教程/授权未知/电脑教程
运行环境: Win9x/NT/2000/XP/
页面刷新: 2008-11-2 12:14:52
软件大小: 未知
软件等级:
整理时间: 2005-2-20 13:47:11
联 系 人: 未知
开 发 商: 未知
解压密码:
下载次数: 0
特约广告:
创建Web Service
   
    我将用c#创建一个Web Service 叫SecurityWebService。一个Web Service文件的扩展名是:.asmx(就象asp.net的文件扩展名.aspx那样),文件的第一行是:
   
  <%@ WebService Language="C#" class="SecurityWebService" %>
   
    这个语句的含义是:告诉编译器运行Web Service模式,还有c#类名。我们还需要访问Web Service名字空间,这也是引用系统名字空间的一次好实践。
   
  using System;
  using System.Web.Services;
   
    SecurityWebService 应该继承了Web Service类的功能,因此我们有必要加入下面这行代码
   
  public class SecurityWebService : WebService
   
    现在我们使用面向对象的编程技巧创建一个类,c#的类与c++和java非常相似,用C#建一个类件象去公园散步那样简单,而且不需要任何技巧。
   
    C#的基本数据类型设计的非常聪明,因此,如果我们返回"int," "float," 或者 "string" ,那么将自动将他们转变成标准Xml输出。不幸的是,在大多数例子中我们需要将获得的数据集合看成一个单一的实体(single entity)。现在我们举一个例子。
   
    我们的 SecurityWebService 股票报价系统需要用户输入股票代码,并且还将返回完整的公司名和现行股票价格,所以对一只股票而言我们有三个信息块。
   
    1、公司代码(string)
   
    2、公司名(string)
   
    3、价格(double)
   
    当我们提交股票时,我们需要提取所有三种数据,有几种方法来完成这项工作,最好的方法是将他们绑定到一种可被枚举的数据类型内,我们在c#中可用"struct"来完成,c#中的"struct"和c++中的结构很相似。
   
  public struct SecurityInfo
  {
  public string Code;
  public string CompanyName;
  public double Price;
  }
   
    我们可以通过模块创建Web Service,代码如下:
   
  <%@ WebService Language="C#" class="SecurityWebService" %>
   
  using System;
  using System.Web.Services;
   
  public struct SecurityInfo
  {
  public string Code;
  public string CompanyName;
  public double Price;
  }
   
  public class SecurityWebService : WebService
  {
  private SecurityInfo Security;
   
  public SecurityWebService()
  {
  Security.Code = "";
  Security.CompanyName = "";
  Security.Price = 0;
  }
   
  private void AssignValues(string Code)
  {
  // This is where you use your business components.
  // Method calls on Business components are used to populate the data.
  // For demonstration purposes, I will add a string to the Code and
  // use a random number generator to create the price feed.
   
  Security.Code = Code;
  Security.CompanyName = Code + " Pty Ltd";
  Random RandomNumber = new System.Random();
  Security.Price = double.Parse(new System.Random(RandomNumber.Next(1,10)).NextDouble().Format("##.##",null));
  }
   
   
  [WebMethod(Description="This method call will get the company name and the price for a given security code.",EnableSession=false)]
  public SecurityInfo GetSecurityInfo(string Code)
  {
  AssignValues(Code);
  SecurityInfo SecurityDetails = new SecurityInfo();
  SecurityDetails.Code = Security.Code;
  SecurityDetails.CompanyName = Security.CompanyName;
  SecurityDetails.Price = Security.Price;
  return SecurityDetails;
  }
   
  }
   
   
    记住所有用户都能通过http访问Web Service,也许你会谈到代码中的机密商业数据和不希望其他人知道的数据,怎样保守数据机密。解决方法是保护商业逻辑功能块,只允许访问表示层,在c#中可以通过使用关键字"[Web Method]"来达到这个目的,我们看看下面的代码:
   
  [WebMethod(Description="This......",EnableSession=false)]
  public SecurityInfo GetSecurityInfo(string Code)
    
    这个函数显示给公众,description标记用于描述Web Service的功能,由于我们不能存储任何会话数据,我们就将消除会话状态。
   
  private void AssignValues(string Code)
   
    这个商业逻辑函数不被公众所知,我们不希望敏感的商业信息被公布在web上(注意:甚至将private改为public,公众仍然看不见,为什么呢?,这是由于没有使用[Web Method]关键字。)
   
    我们可以在这个函数中利用商业逻辑获得最新的股票报价,为了这个目的,我在代码中添加了文本框以便输入公司名称,价格由一个随机函数产生。
   
    我们把这个文件以SampleService.asmx保存在IIS目录下。我将他保存在虚拟目录"/work/aspx"下,在WEB浏览器中的相似如下图:
   
   
   
   
    这个WEB页是由.NET framework生成的,我们没有创建这个页(这是由系统自动生成的,我们没有为他写任何一行代码,这附图是先前代码的副产品),准备使用的功能对单一的Web Service是相当合适的。
   
    使用asp.net和config.web文件可以很轻松的改变该页。不过要注意那个SDL规范的链接(即使我们我们使用WSDL,.NET 版仍然引用了SDL,这个问题在下一个版本中有希望矫正),这是Web Service的一个描述文件目的是创建一个代理对象,这基本上给出Web Service的一个大致介绍,如果你对这些都比较熟悉,你可以只看"Web-only"方法,SDL规范对所有私有函数和属性都未描述,SecurityWebService 类的SDL规范在例程A中看到。 
相关网站:
3721 3721 中“怎样创建.NET Web Service(2) ”相关内容
google Google 中“怎样创建.NET Web Service(2) ”相关内容
sogou sogou搜狐 中“怎样创建.NET Web Service(2) ”相关内容
yisou 一搜 中“怎样创建.NET Web Service(2) ”相关内容
baidu 百度 中“怎样创建.NET Web Service(2) ”相关内容
热门文章
相关软件
总下载排行
本周下载派行
·红色警戒2之尤里的复仇 中文版
·联众麻将作弊器助手
·恐龙快打
·净网先锋 客户端破解程序
·星际争霸1.08
·遥志代理服务器(CCProxy) 6.2 正式注册版
·魔兽争霸-冰峰王座完美硬盘版
·红色警戒3-世界大战
·闪光鬼怪(FlashSprite) 3.03
·微机组装与维护---显示声音设备
·10天学会asp
·ASP 与XML 高级编程(PDG)
·ASP 中健壮的页结构的异常处理
·在SQL Server中保存和输出图片
·web.config一个中文解释
·ASP.NET高级应用(1)
·ASP.NET高级应用(2)
·ASP.NET高级应用(3)
·怎样创建.NET Web Service
·怎样创建.NET Web Service(2)
关于我们 | 帮助(?) | 广告服务 | 友情链接 | 版权声明 | 网站地图 | 商业合作 | 在线留言 | 联系我们 |
『真诚下载网』非凡享受源至于真诚服务 本站QQ官方1号群:6694792
CopyRight 2002-2005 zcdown.com? All Rights Reserved
苏ICP备05031592