我剛學WCF,我試圖創建一個WCF服務,但我不斷收到此異常:簡單的WCF服務結果
未處理的異常:System.ServiceModel.EndpointNotFoundException:沒有 端點傾聽
http://localhost:8733/Person/
,可以接受messa ge。這通常是由不正確的地址或SOAP操作引起的。有關更多詳細信息,請參見InnerExcept (如果存在)。 ---> System.Net.WebException:無法連接到 克拉到遠程服務器---> System.Net.Sockets.SocketException:C 無連接烏爾德作出,因爲目標機器積極地拒絕它127.0.0.1:8733
我開始通過創建一個WCF服務Library.I定義我的服務合同,合同數據配置here.And端點女巫是這樣的:
<service name="SelfHosting.PersonContract">
<endpoint address="" binding="basicHttpBinding" contract="SelfHosting.IPersonContract">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8733/Person/" />
</baseAddresses>
</host>
</service>
已經添加了這兩個端點我只是將它們配置爲符合我的需求。我不確定mex端點是如何使用的,所以我跳着一個人可以告訴我。
然後我創建了一個控制檯應用程序,我加入到service.I參考已初始化的服務的一個實例,然後我tryed調用它:
static PersonContractClient client = new PersonContractClient();
static void Main(string[] args)
{
var persons = client.GetPersons();
foreach (var personData in persons)
{
Console.WriteLine(personData.Name);
Console.WriteLine(personData.Email);
}
}
我還沒有設置客戶端上的任何端點因爲從我所知道的,當你添加後我阿迪引用添加到服務。這參考它們添加全自動:
<endpoint address="http://localhost:8733/Person/" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IPersonContract" contract="PersonNamespace.IPersonContract"
name="BasicHttpBinding_IPersonContract" />
我的解決方案還包含有數據,這是我開始使用實體的另一個項目框架。我不知道這是否與問題有關。
我在這裏做錯了什麼?
Mex用於發送模式,因此您可以使用代碼生成器,如svcutil或WcfTestClient.exe。你會拿出這個生產系統。 –
另外,你是如何託管HTTP服務? IIS或通過控制檯應用程序或Windows服務? –
對我來說,例外情況是說服務停止。您是否部署了它,還是在運行或客戶端代碼時單獨運行它? – Marco