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

WCF分布式開發常見錯誤解決(8):不一致的訪問性Inconsistent accessibility

編輯:關於.NET

在設計數據契約類,並使用其做參數實現客戶端與服務端數據交互的時候,編輯服務 類,出現以下錯誤:

Error 1 Inconsistent accessibility: parameter type 'WCFService.UserDataContract' is less accessible than method 'WCFService.IWCFService.AddNewUser(WCFService.UserDataContract)' E:\CodesVs2008\WCFServiceDataContractFrankXuLei\WCFServiceFrankXuLei\WCFService\WCFService.cs 19 14 WCFService

其它類似錯誤信息:

Error 2 Inconsistent accessibility: return type 'WCFService.UserDataContract' is less accessible than method 'WCFService.IWCFService.GetUserByName(string)' E:\CodesVs2008\WCFServiceDataContractFrankXuLei\WCFServiceFrankXuLei\WCFService\WCFService.cs 22 26 WCFService

解決辦法:

此錯誤是由於數據契約類的訪問屬性設置與服務契約訪問屬性不一致所致,服務契約 接口的訪問行為public,服務類也是public,而數據契約類沒有生命對應的訪問屬性。

我們把數據契約類添加public關鍵字即可。示例代碼如下:

[DataContract]//數據契約屬性聲明
     public class UserDataContract
     {
         [DataMember(Name = "UserName")]//數據成員標記,支持別名定 義
         public string Name
         {
             get;
             set;
         }

         [DataMember(Name = "UserEmail")]//數據成員標記,支持別名定 義
         public string Email
         {
             get;
             set;
         }
         [DataMember]//數據成員標記
         public string Mobile
         {
             get;
             set;
         }
         //沒有[DataMember]聲明,不會被序列化
         public string Address
         {
             get;
             set;
         }
     }

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