我有一個通用的服務接口:通用服務接口
[ServiceContract]
public interface IService<T> where T : Class1
{
[OperationContract]
void DoWork(T class1);
}
然後,我有一個具體的服務,從繼承:
public class Service : IService<Class1>
{
public void DoWork(Class1 class1)
{
}
}
一切工作正常,直到我加入webHttpEndpoint揭露一個JSON WS:
<service name="Service">
<endpoint
address=""
binding="webHttpBinding"
behaviorConfiguration="webHttpBehavior"
contract="IService" />
</service>
<behavior name="webHttpBehavior">
<enableWebScript />
</behavior>
事實上,我收到此錯誤:
The contract name 'IService' could not be found in the list of contracts implemented by the service 'Service'.
這就是接口的通用定義。 任何解決方案?
那麼,你的'Service' **不**執行'IService'(如錯誤明說) - 它實現了'IService' - 這是一個不同的接口.... –
2011-06-03 07:11:52
感謝您的答案。我怎樣才能在我的web.config中設置? – user758977 2011-06-03 07:25:08
你可以嘗試使用'contract =「IService」'但我恐怕這是行不通的。 WCF不太適合仿製藥..... –
2011-06-03 07:29:33