此代码中的 IEventRepository 是什么?Resolver.resolve( ) 是做什么的

What is IEventRepository in this code? What does Resolver.resolve( ) do?

本文关键字:resolve 什么 代码 IEventRepository 是什么 Resolver      更新时间:2023-09-26
public JsonResult GetEvents(double start, double end)
{
    var userName = Session["UserName"] as string;
    if(string.IsNullOrEmpty(userName))
    {
        return null;
    }
    var fromDate = ConvertFromUnixTimestamp(start);
    var toDate = ConvertFromUnixTimestamp(end);
    var rep = Resolver.Resolve<IEventRepository>();
    var events = rep.ListEventsForUser(userName,fromDate,toDate);
    var eventList = from e in events
                    select new {
                                id = e.Id,
                                title = e.Title,
                                start = e.FromDate.ToString("s"),
                                end = e.ToDate.ToString("s"),
                                allDay = false
                            };
    var rows = eventList.ToArray();
    return Json(rows,JsonRequestBehavior.AllowGet);           
}

我从这个博客中得到了这段代码,并试图理解它。我想做的是使用完整日历代码从数据库中检索事件,并允许用户使用 C# 和 Razor 将它们添加到数据库中。我认为这段代码接近我想要的,因为它正在动态创建 JSON 对象,但我需要调整它以使用 SQL 和 C#。任何人都可以帮忙吗?

它从依赖注入框架的内核/解析器中获取IEventRepository的实例化。在代码/配置的其他地方,当要求输入类型为 IEventRepository 的对象时,解析器将有关于应实例化哪种对象的说明。如果没有看到该代码,任何人都会猜测从该调用中返回的内容,除了它满足接口IEventRepository。很可能,只有一两个类实现IEventRepository。找到他们!

如果你想阅读 DI,我喜欢 ninject 文档,但这个特定的代码看起来不像 ninject。