小编Snr*_*Snr的帖子

.NET Core 2.0 Autofac注册类InstancePerRequest不起作用

这是我的界面

public interface IMatchServices
{
    string MatchList();
}
Run Code Online (Sandbox Code Playgroud)

在这里上课

public class MatchServices : IMatchServices
{
    public string MatchList() {

        return "test";
    }
}
Run Code Online (Sandbox Code Playgroud)

调节器

public class SearchController : Controller
{
    private readonly IMatchServices matchservices;

    public SearchController(IMatchServices matchservices)
    {
        this.matchservices = matchservices;
    }

    [Route("matchlist")]
    public string MatchList() {

        return matchservices.MatchList();
    }
}
Run Code Online (Sandbox Code Playgroud)

ConfigureService

public IServiceProvider ConfigureServices(IServiceCollection services)
{
    services.AddMvc();
    ContainerBuilder builder = new ContainerBuilder();
    builder.RegisterType<MatchServices>().As<IMatchServices>().SingleInstance();
    builder.Populate(services);
    var container = builder.Build();
    return container.Resolve<IServiceProvider>();
}
Run Code Online (Sandbox Code Playgroud)

最后是错误(当我注册时InstancePerRequest):

Autofac.Core.DependencyResolutionException:无法解析类型'xxx.Services.MatchServices',因为无法找到它所属的生命周期范围.此注册公开了以下服务: - xxx.Interfaces.IMatchServices

详细信息--->从请求实例的作用域中看不到带有与"AutofacWebRequest"匹配的标记的作用域. …

.net dependency-injection autofac asp.net-core

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

C#ToDictionary在C#7之前获取匿名类型值

你好,这是我如何从C#7后的字典myage值中获得价值

 static void Main(string[] args)
    {
        List<User> userlist = new List<User>();
        User a = new User();
        a.name = "a";
        a.surname = "asur";
        a.age = 19;

        User b = new User();
        b.name = "b";
        b.surname = "bsur";
        b.age = 20;

        userlist.Add(a);
        userlist.Add(b);

        var userlistdict = userlist.ToDictionary(x => x.name,x=> new {x.surname,x.age });

        if(userlistdict.TryGetValue("b", out var myage)) //myage

        Console.WriteLine(myage.age);

    }  
}
public class User {
    public string name { get; set; }
    public string surname { get; set; }
    public int age { …
Run Code Online (Sandbox Code Playgroud)

.net c# anonymous-types

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

Azure Redis缓存服务丢失了所有数据

我有天蓝色的Redis缓存服务。一段时间(2或3周)后,我将数据放在手进行测试,所有数据都丢失了,所以我一次又一次地存储数据3-4次。我的Redis数据

TTL number is -1 你有什么主意吗。是否有丢失数据的原因。顺便说一句,我没有重启。我的Redis服务基本层

azure redis azure-redis-cache

4
推荐指数
1
解决办法
539
查看次数