在服务'z.t.MyService'实现的合同列表中找不到合同名称'x.y.IService'

时间:2011-06-02 15:10:57

标签: wcf

我正在开发一个非常简单的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
    {

    }
}

除了服务之外的其他所有服务都适用于该命名空间。 我哪里错了?

提前致谢。

1 个答案:

答案 0 :(得分:1)

假设z.t.MyService是拼写错误,一切看起来都很好。这正是我们所做的,一切都适用于我们的服务。

根据评论进行修改: 是的,界面可以是通用的,但是在服务中使用它之前需要定义类型。

您可以执行以下操作

public interface IActualService : IService<MyService>

然后您只需使用IAcutalService作为服务的接口。