相关疑难解决方法(0)

依赖注入和ASP.Net成员提供商

我正在为ASP.Net MVC网站创建自定义成员资格提供程序.作为更大的库的一部分,提供程序被创建为单独的类.后端数据存储需要灵活,因为它可以是Xml文件或SQL数据库.我最初的想法是为数据存储创建一个接口,并使用依赖注入将其注入提供程序.

最终结果是开发人员可以继承数据存储接口并提供更新数据所需的方法,然后由自定义成员资格提供程序使用.

但是,由于我自己缺乏技能,我无法弄清楚如何将该类添加到网站时将其注入会员提供商?将数据存储链接到提供程序需要做些什么?在网站上启用此功能的最简单方法是什么?

asp.net-mvc dependency-injection data-storage membership-provider

34
推荐指数
2
解决办法
7175
查看次数

使用AutoFac 2避免服务定位器

我正在构建一个使用AutoFac 2进行DI的应用程序.我一直在,应该避免使用静态IoCHelper(服务定位器).

IoCHelper.cs

public static class IoCHelper
{
    private static AutofacDependencyResolver _resolver;

    public static void InitializeWith(AutofacDependencyResolver resolver)
    {
        _resolver = resolver;
    }

    public static T Resolve<T>()
    {
        return _resolver.Resolve<T>();
    }
}
Run Code Online (Sandbox Code Playgroud)

从前一个问题的答案中,我找到了一种方法,通过使用自动生成的工厂来帮助减少在我的UnitOfWork中使用IoCHelper的需要.继续沿着这条路走下去,我很好奇我是否可以完全消除我的IoCHelper.

这是场景:

我有一个静态的Settings类,它作为我的配置实现的包装器.由于Settings类是对我的大多数其他类的依赖,因此包装器使我不必在整个应用程序中注入设置类.

Settings.cs

public static class Settings
{
    public static IAppSettings AppSettings
    {
        get
        {
            return IoCHelper.Resolve<IAppSettings>();
        }
    }
}

public interface IAppSettings
{
    string Setting1 { get; }
    string Setting2 { get; }
}

public class AppSettings : IAppSettings
{
    public …
Run Code Online (Sandbox Code Playgroud)

ioc-container autofac

5
推荐指数
1
解决办法
2560
查看次数