當前我編寫了一個WCF服務。該服務返回一個類型爲名爲「System」的用戶定義類的對象。代碼片段如下:Wcf服務元數據由於類名錯誤而無法訪問
[DataContract]
public class System
{
// ....
}
[ServiceContract]
public interface DemoServcie
{
[OperationContract]
System GetSystem();
}
但我在運行wcf服務時遇到了一個問題。錯誤消息是:
未能添加服務。服務元數據可能無法訪問。確保您的服務正在運行並展示元數據。
c:\ Users \ xxx \ AppData \ Local \ Temp \ Test Client Projects \ 10.0 \ 6909a900-97bd-4efb-aae9-6c2e9b23e4b9 \ Client.cs(321,50):錯誤CS0426:類型名稱'Runtime 'Demo.DomainModel.System' c:\ Users \ xxx \ AppData \ Local \ Temp \ Test Client Projects \ 10.0 \ 6909a900-97bd-4efb-aae9-6c2e9b23e4b9 \ Client.cs(264, 18):錯誤CS0426:類型名稱「運行」中不存在類型「Demo.DomainModel.System」 ...
但是,如果我重新命名類名「系統」,以其他名稱,如「System1」,這是可以的。我猜「系統」是一個保留的名稱空間名稱,不能使用。這是真的嗎?
看到如何使用系統開始大量在.NET框架組件的,我會說,即使如果它不是一個保留的命名空間,至少使用它會讓其他開發者感到困惑。 – Tim
再來看看,錯誤實際上是'Demo.DomainModel.System'類型中不存在'Runtime'類型。看看Client.cs中的第264行。 – Tim
是的。 「系統」名稱很混亂,但由客戶指定。 – user1012036