0

对于如下的服务合同定义,

[ServiceContract(Namespace="MySevices.WCFService")]
public interface IBasicService

并遵循 OperationContracts,

[OperationContract(IsInitiating=true)]
string InitializeData(int value);

[OperationContract()]
string CheckData(int value, String userName);

为什么我在调用CheckData时没有收到错误消息?

我正在使用 NetTCPBinding。

更新: 哦,这个属性用于以防我们想强制我们的客户首先调用具有“IsInitiating”为真的方法。由于 IsInitiating 的默认值为 true,我们需要将此属性值显式设置为 false。在这种情况下,如果我们调用带有 IsInitiating = false 的方法,其中一个正在初始化,我们会得到一个错误。

4

1 回答 1

0

因为默认值为IsInitiatingtrue。即使它是错误的,也只有在您谈论会话合同时才有意义。除非您将SessionMode属性中的[ServiceContract]属性设置为SessionMode.Required,否则 WCF 不会让服务启动。

于 2012-08-27T19:03:48.540 回答