When declaring a Windows Communication Foundation (WCF) OperationContract
method as one-way,
that service method won’t return any result, not even an underlying empty confirmation message. These are fire-and-forget methods that are useful in
event-like communication. Therefore, specifying a return type has no effect and can confuse readers.
The rule doesn’t report if OperationContractAttribute.AsyncPattern
is set to true.
[ServiceContract]
interface IMyService
{
[OperationContract(IsOneWay = true)]
int SomethingHappened(int parameter); // Noncompliant
}
[ServiceContract]
interface IMyService
{
[OperationContract(IsOneWay = true)]
void SomethingHappened(int parameter);
}
Microsoft Learn - OperationContractAttribute