我一直在分支上进行一些开发,并意识到在完成之前需要先完成其他事情.我决定将我的当前分支分支并在该分支中进行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 view
和hg serve
是这样的:
| + requiste work branch commit.
| |
| + working branch commit
|/
+Default branch commit
Run Code Online (Sandbox Code Playgroud)
但是,当我查看提交日志时,"requiste work …
是否有javascript的XML反序列化器?最好是以jQuery插件的形式.
我正在尝试在使用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(地址)作为注入依赖项的标准?
我有一个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
**更改了示例以更好地表达情况
我使用的是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
和绑定的同一个实例FOO
上
fooA
,并fooB
同时结合不同的实例fooC
我明白,如果它的范围FOO
将是singleton
有效的
但是如果有一种方法可以在使用protoype
示波器时达到相同的目标,我就会徘徊.
还请解释一下这是自动装配概念的正确用法吗?我试图滥用弹簧框架的目的
我有一个工厂类,它决定它应该实例化和返回的四个可用子类中的哪一个.正如您所料,所有子类都实现相同的接口:
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)
如您所见,其中一个子类在其构造函数中定义了依赖项.
一些兴趣点:
IFoo
都是域对象,因此不会被Spring.NET实例化.如果可能的话,我想保持这种方式.我试图找出如何最好地将IBar
依赖关系传递Foo3
给FooFactory
.我觉得这可能是通过IoC最好解决的问题,但我不能理解如何.我还希望尽可能保持FooFactory
单元可测试:即我不希望在测试代码中依赖Spring.NET.
谢谢阅读.
我正在开始新项目.客户端界面基于GWT(和GXT)我没有说它是预定的.然而,我可以选择服务器端,所以我可以有一些乐趣,并希望在这个过程中学到新的东西.一些要求是:
所以基本上我应该坚持使用经过验证的Spring/Acegi或尝试基于Guice的东西吗?那些"东西"会是什么,它有多成熟?
我正在使用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)
属性将提供数据,例如连接字符串,我可以使用它来实例化正确的对象.
我怎样才能做到这一点?
我想声明我的注册是有效的,即没有缺少依赖,并且没有循环依赖.
我想在我的应用程序中执行此操作(而不是在单元测试中),因此如果配置无效,我将能够快速失败.
我还希望在不解析(并实例化)所有组件的情况下实现这一点 - 仅通过扫描依赖关系图.
关于我怎么做的任何想法?
动机是配置复杂应用程序的反复试验性质.如果容器配置错误,我宁愿获得快速失败的行为.
顺便说一句 - 我的灵感来自AutoMapper的AssertConfigurationIsValid()方法.
validation configuration castle-windsor ioc-container inversion-of-control
在我的Web应用程序中,我有各种组件需要访问当前经过身份验证的用户(HttpContext.User).
组件可以通过两种明显的方式访问它:1)访问从HttpContext获取用户.当前2)在构造函数中传递用户
所以我一直在考虑使用IoC容器(通过依赖注入)将当前用户(或者可能只是名称/ id)传递给任何需要它的组件.
是否有人使用此技术将当前ASP.NET用户提供给应用程序的某些部分?或者,这听起来像是一种明智的做法吗?我想知道这对人们有什么影响.
谢谢
更新:感谢Raj的一个很好的例子.如果有人使用AutoFac有类似的例子,我将不胜感激!
更新2:谢谢你的回答,希望我能分开接受!
spring ×2
asp.net ×1
asp.net-mvc ×1
autofac ×1
autowired ×1
branch ×1
factory ×1
guice ×1
gwt ×1
javascript ×1
jquery ×1
memory-leaks ×1
mercurial ×1
spring.net ×1
validation ×1
xml ×1