小编Yas*_*vit的帖子

带有MVC 4或5的MEF - 可插拔架构(2014)

我正在尝试使用Orchard CMS等可插拔架构构建MVC4/MVC5应用程序.所以我有一个MVC应用程序,它将是启动项目并负责身份验证,导航等.然后将有多个模块单独构建为asp.net类库或剥离mvc项目并具有控制器,视图,数据存储库等.

我花了一整天的时间浏览网页上的教程并下载样本等,发现Kenny有最好的例子 - http://kennytordeur.blogspot.in/2012/08/mef-in-aspnet-mvc-4-and -webapi.html

如果我添加对这些DLL的引用,我可以从模块(单独的DLL)导入控制器.但使用MEF背后的原因是能够在运行时添加模块.我希望将DLL和视图复制到启动项目中的〜/ Modules //目录(我已经设法做到了这一点),MEF只是选择它们.努力让MEF加载这些库.

还有MefContrib,如本答案中所解释的ASP.NET MVC 4.0控制器和MEF,如何将这两者结合在一起?这是我即将尝试的下一件事.但我很惊讶MEF没有与MVC一起开箱即用.

有没有人有类似的架构工作(有或没有MefContrib)?最初我甚至想过剥离Orchard CMS并将其用作框架,但它太复杂了.也很高兴在MVC5中开发应用程序以利用WebAPI2.

.net c# asp.net asp.net-mvc mef

79
推荐指数
2
解决办法
4万
查看次数

我如何分离Symfony/Doctrine中的行为?

我对所有模型都附加了doctrine的softdelete行为.有没有办法可以删除特定记录?

在cakephp中我记得分离行为...删除记录然后重新附加行为.

在symfony/doctrine中有类似的东西吗?如果是,那么我该如何分离行为呢?

干杯

php doctrine symfony1

6
推荐指数
3
解决办法
3619
查看次数

如何仅发布捆绑/缩小的脚本

我有一个部署到Azure的MVC4项目.捆绑和缩小工作绝对正常.

所有脚本文件都在/ js文件夹中,这些文件夹捆绑在/ scripts/js中

当我使用msdeploy发布到Azure时,我希望只部署捆绑/缩小的脚本文件.我不希望任何人通过猜测网址来访问我的未缩小的脚本.

我理解MVC捆绑在运行时发生,因此它需要非捆绑文件即时创建捆绑包.这可能需要像grunt那样自动化吗?

想知道当你不想发布非捆绑的js时,人们在这种情况下使用的部署策略.

asp.net asp.net-mvc azure asp.net-mvc-4 bundling-and-minification

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

AngularJS $资源和缓存工厂

我已经使用自定义函数和参数实现了角度$资源,如下所示:

.factory('CandidateService', ['$resource', function ($resource) {
    return $resource("api/:action/:id", {},
    {
        'getCandidates': { method: "GET", params: { action: "Candidate" }, isArray: true },
        'getCandidate': { method: 'GET', params: { action: "Candidate", id: "@id" } }
    });
}]);
Run Code Online (Sandbox Code Playgroud)

我在控制器中使用它如下: -

.controller('Controller', ['CandidateService', function ($scope, CandidateService) {
  $scope.candidateList = [];

  CandidateService.getAll(function (data) {
    $scope.candidateList = data;   
  });
}]);
Run Code Online (Sandbox Code Playgroud)

这工作绝对正常.现在我需要将来自api的数据缓存到CandidateService Factory中,这样就不会在控制器之间移动eveytime.

所以我想我会做如下事情: -

.factory('CandidateService', ['$resource', function ($resource) {
    var Api = $resource("api/:action/:id", {},
    {
        'getCandidates': { method: "GET", params: { action: "Candidate" }, isArray: …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angularjs-factory

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

Hide Bootstrap 3 Modal&AngularJS重定向($ location.path)

我在AngularJS App中使用bootstrap 3模式作为对话框确认.当我隐藏模态并重定向模态的背景仍然存在.

$scope.delete = function () {   
  DataService.delete()
    .then(function () {
      $("#delete").modal("hide");
      $location.path("/");
    });
}
Run Code Online (Sandbox Code Playgroud)

我试过在隐藏上使用回调

$("#delete").on('hidden.bs.modal', function () { 
  $location.path("/");
}
Run Code Online (Sandbox Code Playgroud)

但是这种延迟很多.

有一个更好的方法吗?

javascript jquery twitter-bootstrap angularjs twitter-bootstrap-3

3
推荐指数
1
解决办法
4756
查看次数