I am using the July CTP.Net RIA Services in an ASP.Net application with some Silverlight components. I'm calling RIA services from Silverlight.
My problem arose when I tried to use the Unity and constructor dependency injection in my domain service (LinqToEntitiesDomainService object). The Silverlight application now complains about the absence of a constructor without parameters.
I donโt want to have a constructor without parameters, I want Unity to allow constructor arguments. Is it possible? Am I doing something wrong? Or do I need to find another way to enter constructor arguments?
public class DashboardService : LinqToEntitiesDomainService<DashboardEntities> { private IUserService userService; public DashboardService(IUserService userService) : base() { if (userService == null) { throw ExceptionBuilder.ArgumentNull("userService"); } this.userService = userService; } ...
Here is the error I get:
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:
c # silverlight unity-container wcf-ria-services
brien
source share