当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET创建XML Web服务全接触(15)

ASP.NET
使用NUnit进行单元测试
[FxCop.设计规则]1. 抽象类不应该拥有构造函数
遍历XML文档返回二维数组(ASP)(更新版)
c#中的interface abstract与virtual
[VB.NET] Single & Double
asp.net验证码生成类(参考)
JAVA开发者应该去的20个英文网站 [摘]
C#中关于GDI+输出的问题
XML 命名空间提供了一种避免元素命名冲突的方法。
VS.NET 2005 Beta 2初体验(3)—操作SQL Mobile数据库
VS.NET 2005 Beta 2初体验(1)-用C#开发Managed代码
VS.NET 2005 Beta 2初体验(2)-用C++开发Native代码
VS.NET 2005 Beta2初体验(4)-Notification控件
XmlHttp异步获取网站数据的例子
利用C#编写一个简单的抓网页应用程序
C#中结构与类的区别
在.NET中实现彩色光标,动画光标和自定义光标
C#2.0新特性探究之模拟泛型和内置算法
C#2.0 新特性探究之委托与匿名委托
获取本机的本地上网IP地址

ASP.NET创建XML Web服务全接触(15)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 116 ::
收藏到网摘: n/a

发布和部署(2)

    

  用ASP.NET创建的XML Web服务的配置选择

  XML Web服务的配置遵循和所有的ASP.NET Web应用程序使用的相同的范式。ASP.NET配置是一个基于XML的文本文件配置结构,既强大又可扩展。配置文件只是一组XML元素,描述用于Microsoft.NET Framework的特定技术特性的配置选择。就 XML Web服务而言,配置选择是封装在配置文件的webServices XML元素中的。

  配置消息传送协议和服务帮助页面

  用于XML Web服务消息传送协议和服务帮助页面在配置文件的<webServices>元素下的<protocols> XML元素中配置。通过添加<add>和<remove>元素来进行配置,制定配置文件范围内的那个设置有效。<add>元素明确地添加对配置文件范围内的设置的支持,而<remove>元素移除对更高的配置等级的支持。例如,可以使用Machine.config文件中的<add>元素在机器级别添加一个协议设置,然后使用Web.config文件中的<remove>元素移除对某个Web应用程序的设置。下面的是<add>和<remove>元素的语法:

<{add|remove} name="protocol name" />


  <add>和<remove>元素的name属性有下列选项:

设置

描述

HttpSoap

支持用于XML Web服务的SOAP协议的控件。默认情况下安装已经添加了这个支持。

HttpGet

支持用于XML Web服务的HTTP - GET协议的控件。默认情况下安装不添加这个支持。

HttpPost

支持用于XML Web服务的HTTP - POST协议的控件,不管请求从何起源。默认情况下安装不添加这个支持。

HttpPostLocalhost

当请求来源于本地计算机的时候,支持用于XML Web服务的HTTP - POST协议的控件。如果HttpPost添加到当前配置中,那么这个设置就无效了。默认情况下安装已经添加了这个支持。

Documentation

指定一个服务帮助页面是否显示。默认情况下安装已经添加了这个支持。


  注意:.NET Framework 1.0版支持HttpSoap、HttpGet、HttpPost和Documentation设置和所有默认的机器级别能够使用的设置。

  安全建议

  在使用用于XML Web服务的HTTP-GET或HTTP-POST协议之前,你应该知道这样做可能把它暴露给无意的调用。例如,一个未料想到的用户可能接收一个带有XML Web服务链接的电子邮件,点击链接,使用电子邮件中提供的参数调用XML Web服务。你应该在使用HTTP-GET或HTTP-POST协议之前,你应该考虑这种无意中的调用是否有害。

  使HTTP-GET和HTTP-POST协议对于整机失效

  使用你习惯的文本编辑程序打开Machine.config文件。(Machine.config文件默认的地点在安装目录的\Config子目录下。)

  如果webServices部分中有对HTTP-GET和HTTP-POST的支持,那么就把这几行注释掉。在这样做以后,webServices部分应该如下:

<webServices>
<protocols>
<add name="HttpSoap"/>
<!-- <add name="HttpPost"/> -->
<!-- <add name="HttpGet"/> -->
<add name="Documentation"/>
<add name="HttpPostLocalhost"/>
</protocols>
</webServices>


  保存Machine.config。

  在下一次请求这台机器上的XML Web服务的时候,配置的改变将生效。

  使用于单独Web应用程序的协议支持失效

  使用你习惯的编辑程序打开Web应用程序根目录下的Web.config。(如果无存在Web.config文件,那么就新建一个。)

  修改Web.config的webServices部分,明确的移除协议设置。下面的示例明确地移除HTTP- POST和HTTP- GET协议:

<webServices>
<protocols>
<remove name="HttpPost" />
<remove name="HttpGet" /><