我明白我可以申请若干个选项,ServiceContract(如Name,Namespace)属性和OperationContract(Action,ReplyAction)
同去DataContract(Namespace)和DataMember(IsRequired,Name,Order)
如何确定是否需要应用特定选项.我应遵循的最佳做法/惯例是什么?
这里没有人"最佳实践".只需了解所有不同的参数用于什么.
Name如果您希望服务的"公共"名称与实际的类名不同(大多数人不会更改此名称),则应指定.它与数据契约类似 - 如果您希望通过SOAP/MEX公开的名称与您在内部使用的属性名称不同,请使用它.
Namespace是你应该改变的东西,否则它默认为tempuri.org- 你应该用与你的应用程序相关的命名空间替换它.
IsRequired如果类型可以为空(即a string),则应指定该字段,但实际上该字段是合同的一部分(例如,客户必须具有名称...这是必填字段).
Order只是更改属性在元数据/ XML中出现的顺序; 通常大多数人都不会为此烦恼,除非出于兼容性原因需要它.