现在的位置: 首页 > 综合 > 正文

asp.net web service引用外部DLL中枚举的问题

2012年11月21日 ⁄ 综合 ⁄ 共 715字 ⁄ 字号 评论关闭

 在.net中使用web service时发现有一个这样的问题,我先在一个Common的dll包中定义了一个通用的枚举变量

SNET.Common.Identifier.MemberRole

{

         NetworkOwner = 3,
        
        /// <remarks/>
        NetworkMember = 4,
        
        /// <remarks/>
        NetworkAdmin = 5

}

我在Member web service  引用这个DLL后,发布到IIS,然后在到WEB SITE中引用这个WEB SERVICE

发现在这个web servicer的实例的也有这个定义,可以在它的Reference.cs中看到这样的

 public enum MemberRole {

  NetworkOwner,
        
        /// <remarks/>
        NetworkMember,
        
        /// <remarks/>
        NetworkAdmin

}

而我在PAGE上调用的话MemberRole. NetworkMember它引用了web service实例的的定义,这个值为0了,而不外部类,除非我写全路径SNET.Common.Identifier.MemberRole.MemberRole,这下晕倒了,后来问了些同事.

说,web service引用会自动把那相可用到的定义加入到自己的Reference.cs文件来,然而它的值却变了,因为他们的上下文关系不同,那怎么办,有个办法就是调用的接口定义不要传入枚举值,传一个枚举变量,或直接用Const一个变量好了.

 

抱歉!评论已关闭.