DDD、Unit of Work、autofac.wcfを使用してWCFでプロジェクトを行っていて、次のエラーが表示されます。WCF用に設定されたautofac wcfがAutofacコンテナに登録されていません
WCF用に設定された 'WebCode.Service.WCF.TablasMaestrasService、WebCode.Service.WCF'サービスは、Autofacコンテナに登録されていません。
Bootstrapper.cs
builder.RegisterType<UnitOfWork>().As<IUnitOfWork>();
builder.RegisterType<DatabaseFactory>().As<IDatabaseFactory>();
builder.RegisterType<SystemRuntimeCacheStorage>().As<ICacheStorage>();
builder
.RegisterAssemblyTypes(typeof(PaisRepository).Assembly)
.Where(t => t.Name.EndsWith("Repository"))
.AsImplementedInterfaces();
builder
.RegisterAssemblyTypes(typeof(PaisService).Assembly)
.Where(t => t.Name.EndsWith("Service"))
.AsImplementedInterfaces();
IContainer container = builder.Build();
container.Resolve<IUnitOfWork>();
container.Resolve<IDatabaseFactory>();
container.Resolve<ICacheStorage>();
AutofacHostFactory.Container = container;
TablasMaestrasService.svc
<%@ ServiceHost
Language="C#"
Debug="true"
Service="WebCode.Service.WCF.TablasMaestrasService,WebCode.Service.WCF"
Factory="Autofac.Integration.Wcf.AutofacServiceHostFactory, Autofac.Integration.Wcf"
CodeBehind="TablasMaestrasService.cs" %>
TablasMaestrasService.cs
[ServiceContract]
public class TablasMaestrasService : ITablasMaestrasService
{
private readonly IPaisService _paisService;
public TablasMaestrasService(IPaisService paisService)
{
_paisService = paisService;
}
public List<PaisDto> GetPaises()
{
return = _paisService.GetAll();
}
}
ITablasMaestrasService.cs
[ServiceContract]
public interface ITablasMaestrasService
{
[OperationContract]
List<PaisDto> GetPaises();
}
これが起こっている可能性がありますか? いくつかの助け
これは、リポジトリが呼ばれていないと検証は、私も '[のServiceContract]'属性をオンにする必要があると思います – ascariz
を行っていますインターフェイスではなく、実装上のものです。 –