工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛
您的位置:软件 > 开发者网络 > 微软开发专栏 > Visual Studio.net专栏 > ASP.net > 正文
ASP.NET创建Web服务之发布和部署
[文章信息]
作者:WAYNE编译
时间:2004-12-18
出处:天极网
责任编辑:方舟
[文章导读]
部署一个XML Web服务包括复制.asmx文件和任何XML Web服务使用的汇编文件
advertisement
热点推荐
· ImageReady制作“焰火”小动画
· Java加密和数字签名编程快速入门
· 在VB6中用命令行为模式控制GUI动作
· Excel图表向导详解
· 浅析各种计算机病毒应对方法
[正文]

1 2  下一页

  部署一个XML Web服务包括复制.asmx文件和任何XML Web服务使用的汇编文件,而不要把Microsoft.NET Framework的一部分作为Web服务器上的虚拟目录。有关如何部署一个XML Web服务的信息,请参见"部署XML Web服务"。XML Web服务对使用发现机制的用户适用。用户可以浏览一个特殊的发现文件或Web服务器的根来定位发现文件。从这些文件中,他们可以判断那些服务对他们来说有用。

  部署XML Web服务

  部署一个XML Web服务包括把.asmx文件和任何XML Web服务使用的汇编文件,而不是Microsoft.NET Framework的一部分,复制到Web服务器上。

  例如,假设你把一个XML Web服务命名为StockServices。为了部署XML Web服务,你需要在你的Web服务器上创建一个虚拟目录和把XML Web服务的.asmx文件放入这个目录。这个虚拟目录还应该是一个IIS Web应用程序,虽然它不是必需的。一个典型的部署将有下面的目录结构:

\Inetpub
\Wwwroot
\StockServices
StockServices.asmx
\Bin

  你的XML Web服务使用的汇编不是Microsoft.NET Framework一部分的。

  XML Web服务发布的条目

  当你发布一个XML Web服务时,下列条目用来部署一个Web服务器。

条目 描述
Web应用程序目录 作为你的XML Web服务的根目录。所有的文件都存放在这个目录中。这个目录应该被标记为一个IIS Web应用程序所用。
<MyXMLWebService>.asmx 文件 调用XML Web服务的客户端的基本URL。这个文件可以为任何有效的文件名。
<MyXMLWebService>.disco文件 (可选的)作为XML Web服务的发现机制。.disco文件不会自动地为XML Web服务创建。这个文件可以为任何有效的文件名。
Web.config文件 (可选择的)如果你需要覆盖默认配置设置,你可以包含一个web.config文件。XML Web服务使用这个配置文件来允许系统的定制和可扩展性。例如,如果在系统中你的XML Web服务需要验证而其他的Web应用程序不需要的话,你可以提供一个该XML Web服务特定的web.config文件。
\Bin目录 包含用于这个XML Web服务的二进制文件。如果你的XML Web服务类和.asmx文件不在同一个目录下,那么包含类的部件必须在\Bin目录中。

  发现一个XML Web服务

  XML Web服务发现是定位和询问XML Web服务描述的过程,这是访问一个XML Web服务的预备步骤。通过发现过程,XML Web服务客户端可以在设计时得知一个XML Web服务存在,它能做什么以及如何适当的与之交互。

  可以在XML Web服务发布一个.disco文件时编程发现,.disco是一个包含与其它发现文档、XSD模式和服务描述连接的XML文档。换句话说,使用ASP.NET创建的XML Web服务自动地有提供一个产生发现文档的能力。当使用带有?DISCO的URL访问时,一个发现文档自动地为XML Web服务生成。例如,如果到一个XML Web服务的URL是www.contoso.com/getquote.asmx,然后自动以www.contoso.com/getquote.asmx?DISCO生成一个发现文档。

  为了使能发现一个XML Web服务:

  使用你喜欢的编辑器创建一个XML文档,把标记<?xml version="1.0"?>添加到第一行。

  在这个XML文档内添加一个<discovery>元素,如:

<disco:discovery xmlns:disco="http://schemas.xmlsoap.org/disco/">
</disco:discovery>

  在<discovery>元素内,添加到服务描述、XSD模式和其他发现文档的引用。

  你可以添加对任意你想公开的引用。服务描述引用在一个发现文档中通过使用http://schemas.xmlsoap.org/disco/scl/ XML域名空间添加一个<contractRef>元素来指定。同样地,对其它的发现文档和XSD模式的引用分别通过添加<discoveryRef>和<schemaRef> XML元素来指定。对于XSD模式引用,必须指定XML域名空间http://schemas.xmlsoap.org/disco/schema。。下面的代码示例有对于发现文档、服务描述和一个XSD模式的引用。

<?xml version="1.0"?>
<discovery xmlns="http://schemas.xmlsoap.org/disco/">
<discoveryRef ref="/Folder/Default.disco"/>
<contractRef ref="http://MyWebServer/UserName.asmx?WSDL"
docRef="Service.htm"
xmlns="http://schemas.xmlsoap.org/disco/scl/"/>
<schemaRef ref="Schema.xsd"
xmlns="http://schemas.xmlsoap.org/disco/schema/"/>
</discovery>

  引用可以与发现文档存在于的目录有关,就如在discoveryRef元素所示,或与一个URI有关,就如在contractRef元素所示。

  通过复制发现文档到Web服务器的一个虚拟目录下,把发现文档部署到这台Web服务器上。

  选择性地,如果你想要通过指定一个IIS应用程序而不需要指定一个文档来允许预期消耗者导航到一个URL,那么你可以添加一个到IIS应用程序的默认的页面。这对预期消耗者有益,他们不必知道任意发现文档的名称。用户可以提供想下面发现过程中的URL:
http://MyWebServer/MyWebApplication

  如果用于Web应用程序的默认页面是一个HTML页面:

  在用于Web服务器的默认Web的页面的<head>标记中添加一个链接到发现文档。例如,如果你命名你的发现文档MyWebService.disco并把它放入与默认页面相同的目录中,你需要放置下面的标记到默认的Web页面中。

<HEAD>
<link type='text/xml' rel='alternate' href='MyWebService.disco'/>
</HEAD>

  如果用于Web应用程序的默认页面是一个XML文档:

  在用于Web服务器的默认Web的页面的<head>标记中添加一个链接到发现文档。例如,如果你命名你的发现文档MyWebService.disco并把它放入与默认页面相同的目录中,你需要放置下面的代码到默认的Web页面的顶端。

<?xml-stylesheet type="text/xml" alternate="yes" href="MyWebService.disco" ?>
 
  选择性地,如果你使用Visual Studio.NET,你可以开启动态的发现来允许XML Web服务客户端应用程序来在一个没有创建发现文档的Web服务器上发现可用的XML Web服务。当动态发现开启的时候,客户应用程序在Add Web Reference对话框中指定一个引用带有.vsdisco部分的文件的URL,例如www.contoso.com/default.vsdisco,来代替特定的发现文档。

  为了开启用于一个Web服务器的动态发现,要修改machine.config来添加下面的<add>元素。

<configuration>
<system.web>
<httpHandlers>
<add verb="*" path="*.vsdisco"
type="System.Web.Services.Discovery.DiscoveryRequestHandler,
System.Web.Services, Version=1.0.3300.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
validate="false"/>
</httpHandlers>
</system.web>
</configuration>

  注意:当动态发现开启的时候,所有的XML Web服务和存在于Web服务器的发现文档都是可发现的。因此,当开启动态发现时必须小心,因为如果Web服务器不在带有隔火墙的安全网络中的话,它可能会在无意中暴露敏感数据。


1 2  下一页

天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 
发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容焦点新闻
  • ASP.NET Web Page应用深入探讨
  • ASP.NET创建Web服务之使用事务
  • ASP.NET 2.0中隐藏listbox的某一项
  • ASP.NET创建Web服务之管理Web服务状态
  • 基于ASP.NET的自定义分页显示
  • 英特尔澄清杨旭任职传闻 官方没宣布此消息
  • 国资委河北密制联通拆分方案
  • 垃圾邮件害人害企害国 清除垃圾邮件不手软
  • 中兴携手阿尔卡特 全球逐鹿CDMA
  • 用友总裁王文京:誓将ERP变成“大众消费”
  • 香港消费者委员会:数码相机最贵未必最好
  • 外电称中兴正评估西门子手机业务 或能并购
  • 国信办督战八大行业灾难备份 将出台国家标准
  • Advertisement

    天极无线


    奇妙科幻|美好风光|清风车影|漫画卡通|星座生肖|明星写真|动物世界
    老鼠爱大米
    挥着翅膀的女孩
    女人味
    栀子花开
    白月光
    刚刚好
    江南
    快乐崇拜
    亲爱的你怎么不在我身边
    小薇
    2002年的第一场雪
    有多少爱可以重来
    我的地盘
    七里香
    情人
     
    老鼠爱大米 老板电话
    冲动的惩罚 七里香
    我不是黄蓉 女生撒娇
    盛夏的果实 坚持到底
    孤单北半球 眉飞色舞
    挪威的森林 可爱女人
    最浪漫的事 老板电话

    CSEEK搜索