小编ale*_*rul的帖子

分支分支的Mercurial不会在hg serve或hg视图中显示

我一直在分支上进行一些开发,并意识到在完成之前需要先完成其他事情.我决定将我的当前分支分支并在该分支中进行requiste更改然后将它们合并在一起,然后将我的工作分支合并为默认值.基本上我预计这个:

| | + requiste work branch commit.
| |/
| + working branch commit
|/
+Default branch commit
Run Code Online (Sandbox Code Playgroud)

最后我期望做的是:

+ Merge into defualt
|\
| + Merge requisite work into working branch
| | \
| | + requiste work branch commit.
| |/
| + working branch commit
|/
+Default branch commit
Run Code Online (Sandbox Code Playgroud)

什么我得到两个hg viewhg serve是这样的:

| + requiste work branch commit.
| |
| + working branch commit
|/
+Default branch commit
Run Code Online (Sandbox Code Playgroud)

但是,当我查看提交日志时,"requiste work …

mercurial branch

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

用于反序列化XML的jQuery插件?

是否有javascript的XML反序列化器?最好是以jQuery插件的形式.

javascript xml jquery serialization

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

容器根据标准决定

我正在尝试在使用Windsor容器时实现策略模式.这是我有的:

public class OrderProcessor {
...
    public OrderProcessor(ITaxStrategy strategy) {}

    public void Process(Order order)
    { 
      order.Tax = strategy.CalcTax(order);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是,如何配置我的容器(其他容器示例欢迎),基本上具有选择适当依赖项的标准.所以,如果我注册以下内容

public class USTaxStrategy : ITaxStrategy { ... }
public class CanadaTaxStrateg : ITaxStrategy { ... }
Run Code Online (Sandbox Code Playgroud)

如何使用Order.Destination(地址)作为注入依赖项的标准?

dependency-injection castle-windsor inversion-of-control

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

Linq to SQL DataContext Windsor IoC内存泄漏问题

我有一个ASP.NET MVC应用程序,它使用Castler Windsor IoC基于每个Web请求创建一个Linq2SQL datacontext.

由于某种原因我不完全理解,每次创建一个新的datacontext(在每个Web请求上)大约8k的内存被占用而不被释放 - 这不可避免地导致OutOfMemory异常.

如果我强制垃圾收集,则释放内存.

我的datacontext类非常简单:

 public class DataContextAccessor : IDataContextAccessor
 {
    private readonly DataContext dataContext;
    public DataContextAccessor(string connectionString)
    {
        dataContext = new DataContext(connectionString);           
    }
    public DataContext DataContext { get { return dataContext; } }
 }
Run Code Online (Sandbox Code Playgroud)

用于实例化的Windsor IoC webconfig如下所示:

 <component id="DataContextAccessor"
             service="DomainModel.Repositories.IDataContextAccessor, DomainModel"
             type="DomainModel.Repositories.DataContextAccessor, DomainModel"
             lifestyle="PerWebRequest">       
    <parameters>
      <connectionString>
        ...
      </connectionString>
    </parameters>
  </component>
Run Code Online (Sandbox Code Playgroud)

有谁知道问题是什么,以及如何解决它?

asp.net-mvc memory-leaks castle-windsor inversion-of-control

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

是否可能Spring在两个地方自动装配原型范围的同类实例

**更改了示例以更好地表达情况

我使用的是2.5版弹簧并且有以下情况

@Component
@Scope("prototype") 
Class Foo
{
}

class A
{ 
  @Autowired 
  Foo fooA;
}


class B
{ 
  @Autowired 
  Foo fooB;
}



class C
{ 
  @Autowired 
  Foo fooC;
}
Run Code Online (Sandbox Code Playgroud)

我想了解是否有某种方式来使用@Autowired和绑定的同一个实例FOOfooA,并fooB同时结合不同的实例fooC

我明白,如果它的范围FOO将是singleton有效的

但是如果有一种方法可以在使用protoype示波器时达到相同的目标,我就会徘徊.

还请解释一下这是自动装配概念的正确用法吗?我试图滥用弹簧框架的目的

spring inversion-of-control autowired

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

通过IoC将依赖项提供给工厂类?

我有一个工厂类,它决定它应该实例化和返回的四个可用子类中的哪一个.正如您所料,所有子类都实现相同的接口:

public static class FooFactory{
     public IFoo CreateFoo(FooEnum enum){
            switch (enum)
            {
                case Foo1:
                    return new Foo1();
                case Foo2:
                    return new Foo2();
                 case Foo3:
                    return new Foo3(IBar);//has a constructor dependency on IBar
                case Foo4:
                    return new Foo4();
                 default:
                    throw new Exception("invalid foo!");
            }
     }
}
Run Code Online (Sandbox Code Playgroud)

如您所见,其中一个子类在其构造函数中定义了依赖项.

一些兴趣点:

  • 我们使用Spring.NET作为IoC.
  • 所有子类IFoo都是域对象,因此不会被Spring.NET实例化.如果可能的话,我想保持这种方式.
  • 该应用程序有一个手写的数据访问层(呕吐),因此这里没有ORM.

我试图找出如何最好地将IBar依赖关系传递Foo3FooFactory.我觉得这可能是通过IoC最好解决的问题,但我不能理解如何.我还希望尽可能保持FooFactory单元可测试:即我不希望在测试代码中依赖Spring.NET.

谢谢阅读.

configuration factory spring.net inversion-of-control

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

GWT Acegi替代方案

我正在开始新项目.客户端界面基于GWT(和GXT)我没有说它是预定的.然而,我可以选择服务器端,所以我可以有一些乐趣,并希望在这个过程中学到新的东西.一些要求是:

  • 与服务器的交换将通过使用JSON,大多数(如果不是全部)UI将由客户端上的GWT(JS)生成,因此客户端/服务交换将尽可能地限制为数据交换
  • 没有Hibernate(它不会真正支持我将要连接的专有数据库).在过去的项目中,人们会使用JDBC或iBATIS
  • 某种IoC(我认为Guice只是坚持使用Google)
  • 某种基于LDAP的安全框架.在过去,我们会使用Spring安全(Acegi),但它并不理想,我们必须对它进行大量定制

所以基本上我应该坚持使用经过验证的Spring/Acegi或尝试基于Guice的东西吗?那些"东西"会是什么,它有多成熟?

gwt spring inversion-of-control guice spring-security

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

基于构造函数参数属性使用autofac解析依赖关系

我正在使用Autofac.我想基于我应用于构造函数参数的属性注入不同的依赖实现.例如:

class CustomerRepository
{
    public CustomerRepository([CustomerDB] IObjectContainer db) { ... }
}

class FooRepository
{
    public FooRepository([FooDB] IObjectContainer db) { ... }
}

builder.Register(c => /* return different instance based on attribute on the parameter */)
       .As<IObjectContainer>();
Run Code Online (Sandbox Code Playgroud)

属性将提供数据,例如连接字符串,我可以使用它来实例化正确的对象.

我怎样才能做到这一点?

inversion-of-control autofac

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

如何验证温莎城堡的配置

我想声明我的注册是有效的,即没有缺少依赖,并且没有循环依赖.
我想在我的应用程序中执行此操作(而不是在单元测试中),因此如果配置无效,我将能够快速失败.
我还希望在不解析(并实例化)所有组件的情况下实现这一点 - 仅通过扫描依赖关系图.
关于我怎么做的任何想法?

动机是配置复杂应用程序的反复试验性质.如果容器配置错误,我宁愿获得快速失败的行为.

顺便说一句 - 我的灵感来自AutoMapper的AssertConfigurationIsValid()方法.

validation configuration castle-windsor ioc-container inversion-of-control

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

通过依赖注入传递ASP.NET用户

在我的Web应用程序中,我有各种组件需要访问当前经过身份验证的用户(HttpContext.User).

组件可以通过两种明显的方式访问它:1)访问从HttpContext获取用户.当前2)在构造函数中传递用户

  1. 不理想,因为它使测试变得困难,并且当应用程序组件真正不应该知道它时,将它们与Web关注联系起来.
  2. 只是凌乱而且使一切变得复杂.

所以我一直在考虑使用IoC容器(通过依赖注入)将当前用户(或者可能只是名称/ id)传递给任何需要它的组件.

是否有人使用此技术将当前ASP.NET用户提供给应用程序的某些部分?或者,这听起来像是一种明智的做法吗?我想知道这对人们有什么影响.

谢谢

更新:感谢Raj的一个很好的例子.如果有人使用AutoFac有类似的例子,我将不胜感激!

更新2:谢谢你的回答,希望我能分开接受!

asp.net dependency-injection inversion-of-control

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