小编Ara*_*ami的帖子

Structuremap不适用于MVC4

我已经StructureMap多次使用MVC2/3而没有任何顾虑,但我想在MVC4中处理IoC是不同的.当我用于StructureMap处理MVC4中的IoC时,我得到以下异常:

没有为此对象定义的无参数构造函数

为什么?我没有在谷歌找到任何正确的结果,除了这个:IoC不工作在MVC4 这些是我的IoC类:

public static class IoC {
    public static IContainer Initialize() {
        ObjectFactory.Initialize(x =>
                    {
                        x.Scan(scan =>
                        {
                            //scan.Assembly("DLL.Core");
                            scan.Assembly("DLL.CMS");
                            scan.TheCallingAssembly();
                            scan.WithDefaultConventions();
                        });
                        x.For<IDbContext>().Use<ModelEntities>();
                        x.For(typeof(IRepository<>)).Use(typeof(Repository<>));
                        x.For<IHttpControllerActivator>();
                        x.For<IController>();
                    });

        return ObjectFactory.Container;
    }
Run Code Online (Sandbox Code Playgroud)

而SmDependencyResolver是:

    public class SmDependencyResolver : IDependencyResolver
{
    private readonly IContainer _container;

    public SmDependencyResolver(IContainer container)
    {
        _container = container;
    }

    public object GetService(Type serviceType)
    {
        if (serviceType == null) return null;
        try
        {
            return serviceType.IsAbstract || serviceType.IsInterface
                     ? _container.TryGetInstance(serviceType)
                     : _container.GetInstance(serviceType);
        }
        catch …
Run Code Online (Sandbox Code Playgroud)

structuremap asp.net-mvc inversion-of-control asp.net-mvc-3 asp.net-mvc-4

11
推荐指数
1
解决办法
8300
查看次数

StackExchange.Redis如何仅在一个db上查询所有键

我是redis中的新手,现在我想在一个数据库中获取所有密钥而不知道密钥或密钥模式.谷歌搜索后,我发现了一个关于我的问题的sodu代码,但我在这段代码中没有关键模式或数据字段:

 var connection = ConnectionMultiplexer.Connect(new ConfigurationOptions
    {
        EndPoints = { { DemoSettings.CustomerRedisCache.Url, DemoSettings.CustomerRedisCache.Port } },
        Password = DemoSettings.CustomerRedisCache.Password
    });

    var server = connection.GetServer(host: DemoSettings.CustomerRedisCache.Url, 
                                      port: DemoSettings.CustomerRedisCache.Port);
    var cadena = "cust:" + data.SearchString.Replace(' ', ':')+"*";
    var valores = server.Keys(pattern: cadena);
Run Code Online (Sandbox Code Playgroud)

谢谢你的回复

c# nosql redis stackexchange.redis

7
推荐指数
1
解决办法
1万
查看次数