我有一个ServiceContract契约,下面有一些方法,但是我还想传几个枚举类型过去
给客户端业务处理上调用,但是这些枚举类型都不在那些方法的参数上
我现在的做法比较土,就是写一个函数
[OperationContract]
void Enums(AuditFlowModeEnum p1, AuditTypeEnum p2);
这样客户端就可以识别AuditFlowModeEnum ,AuditTypeEnum 两个枚举类型了
想问下有没有更好的方法,标记一下就可以?
------解决方案--------------------
这样可以,但是只能是.net开发,你可以用增加Serverce References的方法,它会生成对应的自定义类,就可以调用了。
------解决方案--------------------
完全可以在客户端生成了那些 AuditFlowModeEnum 和 AuditTypeEnum 后就在 WCF 中注释掉 void Enums() ;
在客户端专门弄一个程序集,用来存储实体、Enum的定义, WCF代理类引用这个程序集。
程序集中的各个class的namespace都和WCF中的完全相同
------解决方案--------------------
[DataContract(Name = "CarCondition")]
public enum CarConditionWithNumbers
{
[EnumMember]
New = 10,
[EnumMember]
Used = 20,
[EnumMember]
Rental = 30,
}
然后参数中使用CarConditionWithNumbers就可以了。
参考:
http://msdn.microsoft.com/en-us/library/aa347875.aspx