- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 MEF 的新手,我真的很困惑! stackoverflow 中有很多有用的文章和简洁的问题和答案。我下载了@matthew-abbott 在他的blog 中上传的示例。 ,但我不知道如何添加新的插件或扩展来扩展主 Web 应用程序,我的意思是像你看到的 here .
编辑:
我还为我的数据访问层应用程序使用 Entity Framework 、代码优先方法和工作单元,如果我的插件需要数据访问并且(我的意思是插件有自己的模型)想要使用我创建的 DAL 怎么办?如您所知,每次模型更改时,DbContext 都会抛出错误并告诉重新创建 DB,是否有任何方法或其他 ORM 可以动态地接受扩展 DAL?
最佳答案
该特定示例显示了我们如何将 MEF 与 MVC3 的新 DependencyResolver
集成。它为 MVC 架构中的各种扩展点提供了服务定位机制。我的博客上还有其他几篇文章详细介绍了有关可能的插件架构如何工作的更多信息,这些文章可在以下位置获得:
CreationPolicy
. Tim Robert 关于 Web-scoped parts 的文章特别值得一读。
UserRepository
:
[Export(typeof(IUserRepository))]
public class UserRepository : IUserRepository
{
public IEnumerable<UserViewModel> GetUsers()
{
// Get values here from EF as domain models
// And return them as view models?
}
}
[ExportController("User"), PartCreationPolicy(CreationPolicy.NonShared)]
public class UserController : Controller
{
private readonly IUserRepository _repo;
[ImportingConstructor]
public UserController(IUserRepository repo)
{
if (repo == null)
throw new ArgumentNullException("repo");
_repo = repo;
}
public ActionResult Index()
{
var users = _repo.GetUsers();
return View(users);
}
}
[Test]
public void UserController_CreatesViewResult_WithListOfUsers()
{
var mock = new Mock<IUserRepository>();
mock.Setup(m => m.GetUsers()).Returns(new[] { new UserViewModel { Name = "Matt" } });
var controller = new UserController(mock.Object);
var result = controller.Index();
Assert.That(result is ViewResult);
// Other assertions.
}
关于asp.net-mvc-3 - MVC 3 和 MEF 以及向主应用程序添加插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7361157/
我有一个CountDownTimer类,当它完成倒计时时,它应该向主java(或任何使用它的类)分派(dispatch)一个事件,让它知道它已经完成。 这是我的类(class): import com
Intent goMain = new Intent(getBaseContext(),MainActivity.class); goMain.setFlags(Intent.FLAG_ACTIVIT
我是一名优秀的程序员,十分优秀!