一、WebMethod特性:用于对方法配置特性 ;包括六种特性:
- Description 注释 WebMethod
- EnableSession 启用会话状态
- MessageName WebMethod的别名
- TransactionOption 构建事务性Web服务
- CacheDuration 高速缓存WEB服务
- BufferResponse 缓存服务器响应
1.Description特性:用于简要描述可以通过Web调用的方法或特性的功能。Description特性的值添加到WSDL和WEB SERVERCES 服务帮助页在中。
C# [WebMethod(Description="[string]")]
2.EnableSession特性 会话状态在默认情况下是楚用的,为了启用会话状态支持,可以将EnableSession=ture
C#[WebMethod(EnableSession="[true/false]")]
3.WebMethod的别名
如下:
...
[WebMethod]
public int Add(int a,int b)
{
return a+b;
}
[WebMethod]-------->改为:[WebMtthod(MessageName="Add2")]
pubic int Add(int a,int b,int c)
{
return a+b+c;
}
当这个浏览请求时,就会出现一个异常,因为上面两个方法都使用了消息名称Add。可以使用Webmethod的特性中的MessageName来为方法规定惟一的消息名称。如上。MessageName特性只能给方法名称别名
4.TransactionOption :WebSeriveces支持事务,但是公限于Web服务生成的事务,也就是说,事务不能由另一个应用程序启动,然后再流入Web Service中去。
C# [WebMethod(TransactionOption="[TransactionOption]")]
使用事务性Web方法的选项是:
- Disabled---我不不能控制对象的自动事务
- NotSupported---不管是否存在事务,对象都不在事务的作用哉远行
- Supported---如果存在事务,则对象在该事务的环境中远行。如果没有现有的事务,则对象不需要事务环境来远行。
- Required---对象要求有一个事务,以便于远行,它会使用现有的事务:如果没有事务,则会创建一个新的事务。
- RequiresNew---对象要求有新事务,因此要为每个请求创建一个新事务。
默认选项是Required
5.高速缓存WEB服务
Web Service中使用高速缓存是每一个方法琢一配置的,其途径是使用WebMethod特性CacheDuration
C# [WebMethod(CacheDuration=[int])]
6.缓存服务器响应
C# [WebMethod(BufferResponse="[true/false]")]
二、WebService属性主要为类配置特性,这些类在WebService指令中命名。这些特性适用于WEB服务帮助页和WSDL。但它并不将类中的方法标记为可以通过WEB调用。
WebService属性有3个可以操纵的特性:
- Description 注释Web服务
- Namespace 控制命名空间
- Name 改变Web服务名