陈斌彬的技术博客

Stay foolish,stay hungry

WebService中常用的属性(Attributes)

1.Web Service(Web服务)提供以下三个属性。

Namespace:此属性的值包含 XML Web Service的默认命名空间。XML命名空间提供了一种在XML文档中创建名称的方法,该名称可由统一资源标识符(URI)标识。如果不指定命名空间,则使用默认命名空间 http://tempuri.org/

Name:此属性的值包含XML Web Service的名称。在默认情况下,该值是实现XML Web Service的类的名称。

Description:此属性的值包含描述性消息,此消息将在XML Web Service的说明文件(例如服务说明和服务帮助页)生成后显示给XML Web Service的潜在用户。

[WebService(Description="测试WebService属性", Name="MyService", Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class Service : System.Web.Services.WebService
    {
        //......
    }

2.WebMethod(Web服务方法)有以下4个常用属性。

Description:是对Web Service方法的描述信息。就像Web Service方法的功能注释,可以让调用者看见的注释。

[WebMethod(Description = "显示所有人员的信息")]

EnableSession:指示Web Service是否启动Session标志,主要通过Cookie完成,默认为false。

默认情况下WebService的方法中不能使用Session,如果使用会产生异常。

[WebMethod(Description = "显示所有人员的信息", EnableSession = true)]

TransactionOption:指示Web Service方法的事务支持。

[WebMethod(TransactionOption= TransactionOption.RequiresNew)] 

要在WebService中使用事务时,不需要编写很多的代码,只需要在WebMethod属性中加上启用事务的声明即可

CacheDuration:设置响应应在缓存中保留的秒数。这样Web Service就不需要重复执行多遍,可以提高访问效率,而CacheDuration就是指定缓存时间的属性。

 [WebService(Description="测试WebService属性", Name="MyService", Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class Service : System.Web.Services.WebService
    {
        [WebMethod( EnableSession=true, CacheDuration=10)]

        public string GetCNDateTime()
        {
            return DateTime.Now.ToString("yyyy年MM月dd日hh时mm分ss秒ms毫秒");
        }
    }