获得 Web Service 方法的描述信息
获得 Web Service 方法的描述信息:
1 public partial class Service : System.Web.Services.WebService
2 {
3 public Service(){}
4
5 [WebMethod(Description = "第一个 Web 方法。")]
6 public string HelloWorld()
7 {
8 return "Hello World";
9 }
10
11 [WebMethod(Description = "获得 【HelloWorld】Web 方法的描述信息。")]
12 public string A()
13 {
14 return GetWebMethodDescription("HelloWorld");
15 }
16
17 [WebMethod(Description = "获得 Web Service 方法的描述信息。")]
18 public string GetWebMethodDescription(string webMethod)
19 {
20 string description = string.Empty;
21 Type type = typeof(Service);
22 foreach (System.Reflection.MethodInfo method in type.GetMethods())
23 {
24 if (method.Name == webMethod)
25 {
26 foreach (Attribute attr in method.GetCustomAttributes(true))
27 {
28 System.Web.Services.WebMethodAttribute wma = attr
as System.Web.Services.WebMethodAttribute;
29 if (wma != null)
30 {
31 description = wma.Description;
32 break;
33 }
34 }
35 break;
36 }
37 }
38 return description;
39 }
40 }
41
2 {
3 public Service(){}
4
5 [WebMethod(Description = "第一个 Web 方法。")]
6 public string HelloWorld()
7 {
8 return "Hello World";
9 }
10
11 [WebMethod(Description = "获得 【HelloWorld】Web 方法的描述信息。")]
12 public string A()
13 {
14 return GetWebMethodDescription("HelloWorld");
15 }
16
17 [WebMethod(Description = "获得 Web Service 方法的描述信息。")]
18 public string GetWebMethodDescription(string webMethod)
19 {
20 string description = string.Empty;
21 Type type = typeof(Service);
22 foreach (System.Reflection.MethodInfo method in type.GetMethods())
23 {
24 if (method.Name == webMethod)
25 {
26 foreach (Attribute attr in method.GetCustomAttributes(true))
27 {
28 System.Web.Services.WebMethodAttribute wma = attr
as System.Web.Services.WebMethodAttribute;
29 if (wma != null)
30 {
31 description = wma.Description;
32 break;
33 }
34 }
35 break;
36 }
37 }
38 return description;
39 }
40 }
41
A方法返回 HelloWorld 方法的描述信息:
<?xml version="1.0" encoding="utf-8" ?>
<string xmlns="http://abc.org/">第一个 Web 方法。</string>
<string xmlns="http://abc.org/">第一个 Web 方法。</string>
本文地址:http://www.cnblogs.com/anjou/archive/2006/04/23/382809.html