我正在寻找一种方法,使--insecure选项成为任何hg\ TortoiseHg命令的默认选项.
请不要写这是一个不好的做法 - 我知道可能的风险并认为它们是完全可以接受的.
我现在正在查找AutoMapper代码(为我正在研究的项目之一进行评估),坦率地说,我很惊讶:
Mapper类型),因此通常其任何方法都必须是线程安全的所有我能找到的都是这个问题,但即使是在那里做出的陈述似乎也是错误的:如果Map内部不使用线程安全的数据结构,那么它也不能被认为是线程安全的,如果我要去CreateMap在非并发上下文中调用,但同时使用Map.
即,例如ASP.NET MVC应用程序中AutoMapper唯一可能的使用模式是:
lock (mapperLock) {
... Mapper.AnyMethod(...) ...
}
Run Code Online (Sandbox Code Playgroud)
显然,如果我是对的,这是一个巨大的缺失.
所以我有两个问题:
我们假设我已经有一个构建.NET 3.5程序集的项目.现在我想为Silverlight构建这个程序集,而且,只需要进一步努力就可以维护它的Silverlight版本.
什么是不可接受的:
什么是可接受的:
基本上,我想维护一个项目,但目标是两个框架.我不想维护两个单独的项目,因为这可能会导致错误,例如忘记包含新文件.如果有很多项目和大团队,那么排除这些错误非常重要.
如果这完全不可能,任何提供类似好处的解决方案都是可以接受
我正在寻找LINQ to SQL的列表.理想情况下,我想要一个其他支持的方法(或成员 - 例如构造函数)的列表,例如DateTime类型.
让我们想象一下我开始开发一个项目.那么我是否必须认真关注将来改变ORM的可能性?
或者,更准确地说:
实际上,我正在考虑是否有必要投入大量精力来尝试开发与ORM无关的解决方案.
您最喜欢的业务逻辑层(BLL)开发工具包是什么?有没有?
BLL工具包是一组处理典型业务逻辑场景的类(控件,VS.NET加载项).例如,实现访问控制,提供验证等.当然,恕我直言.
是否有支持.NET的ORM工具支持泛型类型的映射?
我想至少有两种可能的映射方案:
几天前,我查看了二叉树测试 @计算机语言基准游戏的C#实现,并且奇怪地惊讶:那里的树节点被描述为一个struct(TreeNode)引用一个class(Next),它有两个字段a TreeNode(strut)类型.这显然看起来很奇怪,所以我更新了这个代码以使用单个类(即〜class TreeNode { TreeNode Left, Right }).我的ItemCheck实施是:
public int ItemCheck()
{
if (ReferenceEquals(Left, null)) // Such a node is always a leaf in this test
return 1;
return 1 + Left.ItemCheck() + Right.ItemCheck();
}
Run Code Online (Sandbox Code Playgroud)
您可能会发现,它与原始实现非常相似.不过,这段代码的性能差了大约2.2倍!
有人可以解释为什么这种"优化"在.NET上有意义吗?我主要想了解这有什么其他含义 - 当然,如果它不仅仅是缺乏C#/ JIT编译器.
可以在这里找到相同代码的更易读的版本,只有一些小的性能改进:https://github.com/alexyakunin/BenchmarkGame-CSharp/blob/master/src/BinaryTrees/Program.cs
更新:我创建了一个额外的项目来对此进行基准测试:
.net ×8
c# ×3
msbuild ×2
orm ×2
asp.net-mvc ×1
automapper ×1
bll ×1
build ×1
csproj ×1
dependencies ×1
linq ×1
linq-to-sql ×1
mercurial ×1
performance ×1
reference ×1
silverlight ×1
ssl ×1
tortoisehg ×1