我正在开发一个非常简单的WCF服务。 一开始一切都很好,然后我将服务接口移动到一个单独的DLL文件中。 因为我得到了这个错误:
合同名称
x.y.IService
可以 没有在合同清单中找到 由服务实施z.t.MyService
我的配置文件如下所示:
<endpointBehaviors>
<behavior name="webHttpBehavior">
<enableWebScript />
</behavior>
</endpointBehaviors>
</behaviors>
<services>
<service name="z.t.MyService">
<endpoint address=""
binding="webHttpBinding"
behaviorConfiguration="webHttpBehavior"
contract="x.y.IService" />
</service>
</services>...
我的服务如下:
using x.y;
namespace z.y
{
public class MyService : IService
{
}
}
除了服务之外的其他所有服务都适用于该命名空间。 我哪里错了?
提前致谢。
答案 0 :(得分:1)
假设z.t.MyService是拼写错误,一切看起来都很好。这正是我们所做的,一切都适用于我们的服务。
根据评论进行修改: 是的,界面可以是通用的,但是在服务中使用它之前需要定义类型。
您可以执行以下操作
public interface IActualService : IService<MyService>
然后您只需使用IAcutalService作为服务的接口。