title: .Net RIA Services: DomainService Needs a Parameterless Constructor?
body: <p>I'm using the July CTP of .Net RIA Services in an ASP.Net application with some Silverlight components.  I'm calling the RIA Services from Silverlight.</p>
  
  <p>My problem arose when I tried to use Unity and constructor dependency injection in my Domain Service (a LinqToEntitiesDomainService object).  The Silverlight application now complains about not having a parameterless constructor.  </p>
  
  <p>I don't want to have a parameterless constructor, I want Unity to resolve the constructor arguments.  Is this possible?  Am I doing something wrong?  Or should I find another way to inject my constructor arguments?</p>
  
  <pre><code>public class DashboardService : LinqToEntitiesDomainService&lt;DashboardEntities&gt;
  {
      private IUserService userService;
  
      public DashboardService(IUserService userService)
          : base()
      {
          if (userService == null)
          {
              throw ExceptionBuilder.ArgumentNull("userService");
          }
          this.userService = userService;
      }
  
      ...
  </code></pre>
  
  <p>Here's the error I'm getting:</p>
  
  <pre><code>Webpage error details
  
  User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
  Timestamp: Tue, 18 Aug 2009 14:34:54 UTC
  
  
  Message: Unhandled Error in Silverlight 2 Application No parameterless constructor defined for this object.   at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean&amp; canBeCached, RuntimeMethodHandle&amp; ctor, Boolean&amp; bNeedSecurityCheck)
     at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache)
     at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)
     at System.Activator.CreateInstance(Type type, Boolean nonPublic)
     at System.Web.DomainServices.DomainService.DefaultDomainServiceFactory.CreateDomainService(Type domainServiceType, DomainServiceContext context)
     at System.Web.Ria.DataServiceFactory.GetDataService(HttpContext context)
     at System.Web.Ria.DataServiceFactory.System.Web.IHttpHandlerFactory.GetHandler(HttpContext context, String requestType, String url, String pathTranslated)
  Line: 1
  Char: 1
  Code: 0
  URI: http://dev.localhost/Home
  </code></pre>