locked
durable session client错误 RRS feed

  • 问题

  • 请教个问题:我用wcf,Service1写好了,创建了durable session clientServiceRegistration里的configuration file也加了,跑起来说Attempted to get contract type for Iservice1, but that type is not a ServiceContract, nor does it inherit a ServiceContract. IService1已经标为服务契约了,这是什么错啊?感觉还是配置文件没配好么?
    2011年10月17日 7:23

答案

  • 解决了。。。Durable Session Client自动生成的代码中添加服务引用后在client.cs添加了一个Iservice1,把那个文件删了就好了
    • 已标记为答案 ling_msft 2011年10月22日 1:25
    2011年10月22日 1:25

全部回复

  • 你把configuration file贴出来看一下。你的wcf service能用visual studio host么?
    2011年10月17日 7:38
    版主
  • 那个service1如果用一般的C# client可以调用的,都没问题。

     

    configuration file确实不太会搞,就在sample上改了下,就这里改了些参数和地址

    <microsoft.Hpc.Session.ServiceRegistration>
        <service assembly="%CCP_HOME%ServiceRegistration\HPCtest.dll"
          contract="HPCtest.IService1" type="HPCtest.Service1" includeExceptionDetailInFaults="true"
          maxConcurrentCalls="0" serviceInitializationTimeout="60000"
          enableMessageLevelPreemption="true" stdError="" maxMessageSize="65536">
          <environmentVariables>
            <add name="myname1" value="myvalue1" />
            <add name="myname2" value="myvalue2" />
          </environmentVariables>
        </service>
        <!--Below is a sample to config customized host
           <host hostType="Customize" exeFileName="%CCP_DATA%\ServiceRegistration\ServiceBinary.exe" />
         -->
      </microsoft.Hpc.Session.ServiceRegistration>

    2011年10月17日 7:54
  • contract="HPCtest.IService1" type="HPCtest.Service1"

     

    你用的是这个namespace么?直接删除了这部分试试看

    2011年10月17日 8:41
    版主
  • 是这个。Service所在的namespace 叫HPCtest
    2011年10月18日 12:24
  • 直接删除contract="HPCtest.IService1" type="HPCtest.Service1"试试看可以么?
    2011年10月18日 15:44
    版主
  • 不像是配置文件的问题,感觉你接口继承关系没弄好,在I开头的文件里,是接口。建议你看看是不是跟指导书的代码有区别,代码中括号里的如,[ServiceContract] [OperationContract]内容不能省略的,如果你的代码没问题,那就有可能是你先添加了服务引用,然后又更改了服务。这样的话,右键点击服务引用,更新一下服务引用。

    希望我的回答对你有帮助。

    还是不行的话,请根据指导书仔细配置一遍,你会发现自己的错误所在的。

    • 已建议为答案 iiFlame 2011年10月19日 11:50
    • 取消建议作为答案 ling_msft 2011年10月20日 10:06
    2011年10月19日 11:50
  • 这几天没时间上集群看,明天试试把configure file的那句话删掉。 回楼上,service应该没有错,我用WCF自动生成的service也不行,而且如果不用HPC,只是普通的Application Project是可以正常调用这个服务的
    • 已标记为答案 ling_msft 2011年10月22日 1:25
    • 取消答案标记 ling_msft 2011年10月22日 1:25
    2011年10月20日 10:06
  • 解决了。。。Durable Session Client自动生成的代码中添加服务引用后在client.cs添加了一个Iservice1,把那个文件删了就好了
    • 已标记为答案 ling_msft 2011年10月22日 1:25
    2011年10月22日 1:25