程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> WCF分布式開發常見錯誤解決(7)

WCF分布式開發常見錯誤解決(7)

編輯:關於.NET

WCF分布式開發常見錯誤解決(7):System.InvalidOperationException,Cannot have two operations in the same contract

我們啟動服務宿主程序的時候,有可能出現如下的無效操作異常,信息如下:

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);

}

重新編譯運行代碼即可。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved