此代码中的 IEventRepository 是什么?Resolver.resolve( ) 是做什么的
What is IEventRepository in this code? What does Resolver.resolve( ) do?
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。
相关文章:
- 这是什么 ==- javascript 运算符
- 我的单元测试选项是什么
- 全局变量和全局对象的属性之间有什么区别吗
- 打破承诺链的好方法是什么
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- Javascript中的空白是什么
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 在ember/handlers中使用value和valueBinding有什么区别
- 什么'在webpack外部设置中,reactDom和reactDom不同
- 在JavaScript中拆分日期字符串的更好方法是什么
- 为什么$.brower被弃用?还有什么更好的替代方案
- 什么是&&在没有if的行中的变量之间
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- 处理浮点错误的最佳方法是什么
- DOM元素和angular元素之间的主要区别是什么
- javascript导入的最佳实践是什么
- 返回值和 Promise.resolve 从 then() 有什么区别
- 此代码中的 IEventRepository 是什么?Resolver.resolve( ) 是做什么的
- Future.resolve()的含义是什么?
- Promise.resolve(Promise)的用例是什么