我有了这个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