我有一個DevExpress示例mvc網站應用程序。它使用溫莎城堡作爲國際奧委會。我只是試圖通過Autofac取代,但沒有運氣!溫莎城堡到Autofac
這裏是示例代碼:
container
.Register(Component
.For<DbRepositories.ClinicalStudyContext>()
.LifestylePerWebRequest()
.DependsOn(new { connectionString }))
.Register(Component
.For<DbRepositories.IClinicalStudyContextFactory>()
.AsFactory())
.Register(Component
.For<FirstStartInitializer>()
.LifestyleTransient())
.Register(Component
.For<IUserRepository>()
.ImplementedBy<DbRepositories.UserRepository>())
,這是我Autofac轉換:
var builder = new ContainerBuilder();
builder.RegisterControllers(typeof(MvcApplication).Assembly);
builder.Register(c =>
new DbRepositories.AdminContext(connectionString))
.InstancePerHttpRequest();
builder.RegisterType<DbRepositories.IAdminContextFactory>()
.As<DbRepositories.IAdminContextFactory>();
builder.RegisterType<DbRepositories.UserRepository>()
.As<IUserRepository>().InstancePerHttpRequest();
有關於我的研究沒有對implementetion AsFactory()上Autofac。
這是IAdminContextFactory
接口:
public interface IAdminContextFactory
{
AdminContext Retrieve();
}
,這是錯誤的應用說:
的類型 'Admin.Infrastructure.EFRepository.IAdminContextFactory' 可以發現 有沒有構造函數'公共綁定標誌'。
任何人都可以幫忙嗎?
謝謝。
感謝您的答覆。我會盡力讓你知道。 – shortcode
它的工作原理。謝謝彼得。 – shortcode
@shortcode - 當然它的作品! ;)...沒有真的,很高興成爲協助:) –