我們啟動服務宿主程式的時候,有可能出現如下的無效操作異常,資訊如下:
Cannot have two operations in the same contract with the same name, methods SayHello and SayHello in type WCFService.IWCFService violate this rule. You can change the name of one of the operations by changing the method name or by using the Name property of OperationContractAttribute.異常資訊截圖:
原因:這個是由于服務契約裡定義了定義了兩個相同名稱的操作契約。
解決辦法:
1.重新定義操作契約的名稱,使兩者不同;
2.或者使用操作契約的名稱屬性,執行個體代碼如下:
//1.服務契約,操作契約重載
[ServiceContract(Namespace = "http://www.cnblogs.com/frank_xl/")]
public interface IWCFService
{
//操作契約
[OperationContract(Name = "SayHello1")]
string SayHello();
[OperationContract(Name = "SayHello2")]
string SayHello(string name);
[OperationContract(Name = "SayHello3")]
string SayHello(string firstName, string lastName);
}
本文轉自 frankxulei 51CTO部落格,原文連結:http://blog.51cto.com/frankxulei/320946,如需轉載請自行聯系原作者