Я делаю проект в WCF с DDD, Unit of Work и autofac.wcf и дает мне следующую ошибку.autofac wcf, настроенный для WCF, не зарегистрирован в контейнере Autofac
Служба WebCode.Service.WCF.TablasMaestrasService, WebCode.Service.WCF, настроенная для 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();
}
что может случиться? некоторой помощь
Это не там, где хранилище называется и валидация выполняется – ascariz
Я также думаю, что '[ServiceContract]' атрибут должен быть на интерфейс, а не на реализацию. –