Usługi .NET RIA: DomainService potrzebuje konstruktora bez parametrów?

Korzystam z lipcowego CTP .Net RIA Services w aplikacji ASP.Net z niektórymi komponentami Silverlight. Dzwonię do usług RIA z Silverlight.

Mój problem powstał, gdy próbowałem użyć Unity i wstrzykiwania zależności konstruktora w mojej usłudze domeny (obiekt LinqToEntitiesDomainService). Aplikacja Silverlight narzeka teraz na brak konstruktora bez parametrów.

Nie chcę mieć konstruktora bez parametrów, chcę, aby Unity rozwiązało argumenty konstruktora. czy to możliwe? czy robię coś źle? Czy powinienem znaleźć inny sposób na wstrzyknięcie argumentów konstruktora?

public class DashboardService : LinqToEntitiesDomainService<DashboardEntities>
{
    private IUserService userService;

    public DashboardService(IUserService userService)
        : base()
    {
        if (userService == null)
        {
            throw ExceptionBuilder.ArgumentNull("userService");
        }
        this.userService = userService;
    }

    ...

Oto błąd, który otrzymuję:

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& canBeCached, RuntimeMethodHandle& ctor, Boolean& 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

questionAnswers(2)

yourAnswerToTheQuestion