title: Generic Service Interface
body: <p>I have a Generic Service Interface:</p>
  
  <pre><code>[ServiceContract]
  public interface IService&lt;T&gt; where T : Class1
  {
      [OperationContract]
      void DoWork(T class1);
  }
  </code></pre>
  
  <p>Then I have a Concrete Service that inherits from that:</p>
  
  <pre><code>public class Service : IService&lt;Class1&gt;
  {
      public void DoWork(Class1 class1)
      {
      }
  }
  </code></pre>
  
  <p>Everything works fine until I add a webHttpEndpoint to expose a JSON WS:</p>
  
  <pre><code>&lt;service name="Service"&gt;
      &lt;endpoint 
          address="" 
          binding="webHttpBinding" 
          behaviorConfiguration="webHttpBehavior"
          contract="IService"  /&gt;
  &lt;/service&gt;
  
  &lt;behavior name="webHttpBehavior"&gt;
      &lt;enableWebScript /&gt;
  &lt;/behavior&gt;
  </code></pre>
  
  <p>In fact, I receive this error:</p>
  
  <blockquote>
    <p>The contract name 'IService' could not
    be found in the list of contracts
    implemented by the service 'Service'.</p>
  </blockquote>
  
  <p>That's beacuse of the generic definition of the interface.
  Any solution?</p>