我有了這個WCF服務合同(大量簡化,但要注意它在命名空間):如何在WCF端點的XML配置中指定協定的名稱空間?
namespace Foo.Services.BarService
{
[ServiceContract]
interface BarContract {... }
}
在我的app.config
(客戶端),我配置了一些服務的端點:
<endpoint address="..."
binding="..."
contract="Foo.Services.BarService.BarContract" />
但是,這會導致錯誤,指出在支持BarService.BarContract
的客戶端配置中找不到端點。我只能通過將contract
屬性值更改爲BarService.BarContract
(即通過刪除命名空間)來擺脫此錯誤。
這是爲什麼?這個錯誤從哪裏來?爲什麼我不能提到合同類型的名稱空間部分?在WCF中不應該找到匹配的端點?
回覆如下@Ladislav Mrnka的評論的問題:
我說的客戶端。 (我忘了提及這一點;對此感到抱歉。) 這個錯誤可能來自服務器端嗎?
我產生上述服務合同,與
BarClient
類,它實現它一起,通過Visual Studio的添加服務引用設施。我指定了由其他人運行的BarService
的URL。這也是我指定該服務應放在Foo.Services.BarService
名稱空間中的地方。我打算直接通過自動生成的
BarClient
類使用該服務,而不是通過ChannelFactory<BarContract>
。
服務或客戶端配置是否存在問題?你是如何創建客戶的? – 2011-01-14 08:51:31