我正在尝试在我的方法体中使用一个属性,但不知道如何。
这个假代码应该显示我的意思(只是一个简单的样本
[WebMethod(MessageName = "EnrichmentXml", Description = "Locate Enrichment XML Doc")]
public XmlDocument EnrichmentXml(string xmlRequest)
{
SaveLog(Description + " method was called.");
}
在我的示例中,描述未知。 但是如何使它可用?
由于
答案 0 :(得分:1)
首先,一个属性用于用元数据“装饰”一个项目(可以改变项目的行为)。在这种情况下,WebMethod
只有服务器通知ASP.Net,它正在装饰的方法将被称为Web服务方法(例如MyWebService.asmx / EnrichmentXml)。如果Description
类,WebMethodAttribute
类的构造函数的Description
命名参数对应于WebMethodAttribute
属性。由于WebMethodAttribute
实际上并未在您的方法中实例化,因此您无法访问装饰WebMethodAttribute
的任何成员。
我建议如下:
namespace MyNamespace {
public class MyWebServiceClass {
private const string DESCRIPTION = "Locate Enrichment XML Doc";
[WebMethod(MessageName = "EnrichmentXml", Description = DESCRIPTION)]
public XmlDocument EnrichmentXml(string xmlRequest)
{
SaveLog(DESCRIPTION + " method was called.");
}
}
}