2011-11-03 62 views
0

如何通过webservice暴露常量?C# - 通过webservice暴露常量

常数在下面。

public DateTime NullDate = DateTime.Parse("01/01/2000 00:00"); 

请注意,我不想使用nullables的 - 揭露这是唯一可行的选择。

+2

好像你只需要创建一个返回你的常量的服务方法。 – oscilatingcretin

回答

3

我错过了什么吗?

[WebService(Namespace = "http://www.mynamespace.com")] 
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
    [System.ComponentModel.ToolboxItem(false)]   
    public class ConstantService : System.Web.Services.WebService 
    { 
     public const DateTime NullDate = DateTime.Parse("01/01/2000 00:00"); 


     [WebMethod] 
     public DateTime getNullDate() 
     {     
      return NullDate; 
     } 
    } 
1

Web服务没有属性也没有字段,所以你需要创建一个方法来提供这个值。或者,将它作为其他方法的响应的一部分返回,该方法的使用需要此常量值。

2

取决于您使用的WebService。 AFAIK无法在WCF中公开它。 您可以将其作为方法公开。像GetNullData()

2

不能暴露恒定在一个Web服务,但你可能暴露返回的常量的方法或使用枚举或布尔,以确定是否应使用空日期。

public const DateTime NULL_DATE_CONST = DateTime.Parse("01/01/2000 00:00"); 

[WebMethod] 
public DateTime NullDate() 
{ 
    return NULL_DATE_CONST; 
} 

本想用()的方法来访问,但它会表现为各种各样的属性。