1
我正在學習WCF,作爲學習的一部分,我發現合約的命名空間應該匹配。我寫了一個合同類(客戶端和主機都有自己的副本),並使其名稱空間不匹配,但我的代碼仍然有效。我爲合同和主持人類以及客戶如何調用合同提供了代碼。有人能告訴我哪裏錯了嗎?合同名稱空間 - 沒有衝突,爲什麼?
客戶合同類:
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Text;
using System.Threading.Tasks;
namespace GeoLib.Client.Contracts
{
[ServiceContract]
public interface IMessageContract
{
[OperationContract (Name = "ShowMessage")]
void ShowMsg(string message);
}
}
主合同類:
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Text;
using System.Threading.Tasks;
namespace GeoLib.WindowsHost.Contracts
{
[ServiceContract]
public interface IMessageContract
{
[OperationContract]
void ShowMessage(string message);
}
}
長途區號的客戶:
private void btnMakeCall_Click(object sender, RoutedEventArgs e)
{
ChannelFactory<IMessageContract> factory = new ChannelFactory<IMessageContract>("");
IMessageContract proxy = factory.CreateChannel();
proxy.ShowMsg(txtMessage.Text);
factory.Close();
}
我正在學習Miguel Castro的Pluralsight上的WCF課程,他建議t他有理由使用名稱空間屬性,就像您建議在不共享合同並讓主機和客戶端使用自己的合同時停止命名空間衝突一樣。 – Baahubali