请求对象(WCF)中的必需参数
lHi 我目前正在编写一个WCF服务。 其中一个方法获取请求对象并返回响应对象。在请求中有两个值类型成员 是否有方法以声明方式定义成员是强制性的? 我处于开发的早期阶段,现在不想开始版本控制。此外,我不希望方法sig有25个参数,因此我创建了请求对象 我遇到的问题是,由于值类型的原因,我无法确定服务的消费者是否打算在其中包含默认值,或者只是因为懒惰。 在消费者方面,你不容易发现你可能错过了那个属性 因此,我希望有一些东西可以强制服务的调用者提供一个值,如果不是的话,他会得到一个编译时错误 有什么想法吗 蒂亚, 马丁是的,绝对是:请求对象(WCF)中的必需参数,wcf,parameters,Wcf,Parameters,lHi 我目前正在编写一个WCF服务。 其中一个方法获取请求对象并返回响应对象。在请求中有两个值类型成员 是否有方法以声明方式定义成员是强制性的? 我处于开发的早期阶段,现在不想开始版本控制。此外,我不希望方法sig有25个参数,因此我创建了请求对象 我遇到的问题是,由于值类型的原因,我无法确定服务的消费者是否打算在其中包含默认值,或者只是因为懒惰。 在消费者方面,你不容易发现你可能错过了那个属性 因此,我希望有一些东西可以强制服务的调用者提供一个值,如果不是的话,他会得到一个编译时错误 有什么
[DataContract]
public class YourRequestClass
{
[DataMember(IsRequired=true)]
int RequestID { get; set; }
}
您可以使用属性的许多子属性-
Order
和IsRequired
可能是最常用的子属性。请检查以下各项是否解决了您的问题:
数据成员上的IsRequired/EmitDefaultValue属性
上述主题描述了以下内容的组合:
IsRequired
和EmitDefaultValue
请求成员上设置的属性,根据讨论,这些属性至少可以解决“问题”
干杯嗨,谢谢你的回答,但这并不能真正解决我的问题。因为只要我在客户机上更新我的服务引用,就没有人会打扰我在那里真正提供价值。序列化将把它添加到请求中,服务接受它,即使它只是默认值。