使用“struct”在WebService中对WebMethods进行分组?

时间:2013-02-05 14:00:13

标签: asp.net web-services c#-4.0 asmx webmethod

定义: 无法在结构或类中对函数进行分组,但我无法在浏览器中列出它们。 因为Web方法无法在浏览器上查看而获得WSDL。

* .asmx文件如下所示:

public class myProfile : System.Web.Services.WebService
{
        public struct AddressFunctions
        {           
           //[WebMethod] here
        }
        public struct MembershipFunctions
        {      
           //[WebMethod] here     
        }
}

目标: 我的方法是,以下列方式访问函数: myProfile.AddressFunctions.methodName();会工作的。

有没有办法解决这个问题?要么 为了便于阅读和易用,你们如何实现在Web服务中对Web方法进行分组。

2 个答案:

答案 0 :(得分:2)

通过使用结构声明进行包围,可以有效地从'myProfile'类中删除这些方法。将它们包裹在一个区域中,如下所示:

public class myProfile : System.Web.Services.WebService
{
    #region ----- Address functions --------------------------------

       //[WebMethod] here

    #endregion

    #region ----- Membership functions -----------------------------

       //[WebMethod] here     

    #endregion
}

如果您需要在协议级别进行分离,则应引入更多Web服务类。

答案 1 :(得分:1)

您只能按服务中的订单“分组”方法。

BTW我们您是否意识到ASMX是一项传统技术,不应该用于新开发?您应该使用WCF。

另外,当你说“可读性”时,你的意思是什么?谁会读它?