草庐IT

容器原生虚拟化

全部标签

c# - 如何提高非虚拟化 DataGrid 的排序性能?

我相信你们中的大多数人现在会对为什么我们必须关闭wpf数据网格的虚拟化感到惊讶。虽然虚拟化确实有助于减少内存占用,但它增加了CPU开销并且滚动体验并非完美无缺。根据客户的要求,我们不得不禁用数据网格中的虚拟化并进一步优化它,现在它可以非常顺畅地上下滚动,没有任何延迟。缺点是数据被预加载并保存在内存中。这是我们可以接受的解决方案。然而排序现在成了一个大问题。虽然使用CustomSorter:IComparer确实是比通常的SortDecriptors更好的排序替代方案,但它在我们的案例中几乎没有任何区别,因为整行都被重绘了。有什么方法可以提高非虚拟化数据网格的排序速度吗?非常感谢,更新:

c# - 使用 Moq 模拟 OData 客户端的容器

我正在使用ODataV4客户端在我的asp.netmvc5中创建代理。我想使用Moq对Controller进行单元测试。有什么办法可以通过容器模拟OData服务响应。下面是OData容器实例化器:publicstaticclassControlEntityContextHelper{//////ReturnsODataservicecontext//////publicstaticContainerGetEntityContext(){//createthecontainervarcontainer=newContainer(newUri("http://localhost/servi

c# - 将 IoC 容器引入遗留代码

我正在编写一个新的.NET库供我公司内部使用,它将通过依赖注入(inject)使用IoC。当然,如果我们使用IoC容器来解析实例,这个库将更容易使用。但是,将调用此库的代码目前不使用任何类型的依赖注入(inject),并且重构遗留代码以使用DI超出了我的项目范围。那么,在这个遗留代码中开始使用容器从我的新库中获取实例的最佳方法是什么?如果可能的话,我希望避免使用对我选择的任何IoC容器的硬引用来乱扔上述遗留代码。由于我是DI的新手,我们很可能会在某个时候改变我们想要使用哪个Container的想法。如果我用类似CommonServiceLocator的东西包裹我的容器CodePlex上

c# - 在某些计算机上使用虚拟化路径的临时目录

在我的Silverlight应用程序中,我使用常规的SaveFileDialog来提示用户保存一些文件。问题是在某些Windows7计算机上,如果用户在保护模式下使用IE,并尝试保存到例如桌面上,保存路径最终如下所示:C:\Users\\Appdata\Local\Microsoft\Windows\TemporaryInternetFiles\Virtualized\C\Users\\Desktop有人知道我在哪里可以找到标志或值,表明将使用此路径而不是Windows上的常规路径吗?谢谢 最佳答案 所以经过一些研究,我担心没有标志

c# - 虚拟目录中的 ASP.NET MVC

我的Global.asax.cs中有以下内容routes.MapRoute("Arrival","{partnerID}",new{controller="Search",action="Index",partnerID="1000"});routes.MapRoute("Default","{controller}/{action}/{id}",new{controller="Home",action="Index",id=""});我的SearchController看起来像这样publicclassSearchController:Controller{//Displaysear

c# - 通过 MEF 容器处理组件?

我使用MEF将接口(interface)映射到实现类作为DI的一种方式。例如,我对接口(interface)使用Import属性,对实现类使用Export属性。我的理解是MEF框架将创建实现类实例并将它们保存在MEF的容器中以供使用或自动注入(inject)。我的一些实现类实现了IDispose接口(interface)。由于实例是由MEF创建的,我想我应该让MEF在MEF退出时调用组件的Dispose方法(如果它们是一次性的)。例如,在我的应用程序中,我持有对MEF容器的引用。当应用程序终止时,我调用容器的Dispose方法。问题是我的组件的Dispose从未被调用。以下是一些关于导

c# - 抽象单例背后的 IoC 容器——做错了吗?

一般来说,我喜欢让应用程序完全不了解IoC容器。但是我遇到了需要访问它的问题。为了消除痛苦,我使用了一个基本的单例。在你跑到山上或拔出霰弹枪之前,让我回顾一下我的解决方案。基本上,IoC单例绝对什么都不做,它只是委托(delegate)给一个必须传入的内部接口(interface)。我发现这使得使用单例的工作不那么痛苦。下面是IoC包装器:publicstaticclassIoC{privatestaticIDependencyResolverinner;publicstaticvoidInitWith(IDependencyResolvercontainer){inner=conta

c# - 为什么我需要在 C# 类中使用虚拟修饰符?

我有以下类(class):publicclassDelivery{//Primarykey,andone-to-manyrelationwithCustomerpublicintDeliveryID{get;set;}publicvirtualintCustomerID{get;set;}publicvirtualCustomerCustomer{get;set;}//PropertiesstringDescription{get;set;}}有人能解释一下为什么他们的客户信息是用虚拟编码的吗?什么意思? 最佳答案 看评论,你在学E

c# - 如何将示例(虚拟)数据添加到单元测试中?

在较大的项目中,我的单元测试通常需要一些“虚拟”(示例)数据才能运行。一些默认客户、用户等。我想知道您的设置是什么样的。您如何组织/维护这些数据?您如何将其应用于您的单元测试(任何自动化工具)?您真的需要测试数据还是您认为它没用?我目前的解决方案:我区分主数据和样本数据,前者在系统投入生产时可用(首次安装),后者是典型用途运行测试(并在开发过程中播放)所需的用例。我将所有这些存储在一个Excel文件中(因为它非常容易维护),其中每个工作表都包含一个特定的实体(例如用户、客户等),并被标记为主或样本。我有2个测试用例,我(错过)使用它们来导入必要的数据:InitForDevelopmen

c# - 方法绑定(bind)到外部库中的基方法无法处理新的虚拟方法 "between"

假设我有一个库,版本1.0.0,包含以下内容:publicclassClass1{publicvirtualvoidTest(){Console.WriteLine("Library:Class1-Test");Console.WriteLine("");}}publicclassClass2:Class1{}我在控制台应用程序中引用了这个库,内容如下:classProgram{staticvoidMain(string[]args){varc3=newClass3();c3.Test();Console.ReadKey();}}publicclassClass3:ClassLibra