Tag: .net

比较JSON和BSON

我正在比较JSON和BSON序列化对象。 这些对象包含大量整数的几个数组。 在我的testing中,我正在序列化的对象总共包含大约12,000个整数。 我只对如何比较序列化结果的大小感兴趣。 我使用JSON.NET作为序列化的库。 我正在使用JSON,因为我也希望能够在Javascript中使用它。 JSONstring的大小约为43kb,BSON结果的大小为161kb。 所以差异因子约为4.这不是我所期望的,因为我看了BSON,因为我认为BSON在存储数据方面更加高效。 所以我的问题是为什么BSON效率不高,能否提高效率呢? 还是有另一种方式序列化数组包含大量的整数,这可以很容易地在Javascript中处理? 下面你可以findtestingJSON / BSON序列化的代码。 // Read file which contain json string string _jsonString = ReadFile(); object _object = Newtonsoft.Json.JsonConvert.DeserializeObject(_jsonString); FileStream _fs = File.OpenWrite("BsonFileName"); using (Newtonsoft.Json.Bson.BsonWriter _bsonWriter = new BsonWriter(_fs) { CloseOutput = false }) { Newtonsoft.Json.JsonSerializer _jsonSerializer = new JsonSerializer(); _jsonSerializer.Serialize(_bsonWriter, _object); _bsonWriter.Flush(); } 编辑: 以下是生成的文件https://skydrive.live.com/redir?resid=9A6F31F60861DD2C!362&authkey=!AKU-ZZp8C_0gcR0

ASP.NET MVC与Spring MVC

任何人都可以请ASP.NET MVC与Spring MVC 。 哪种技术在性能,生产力,维护,function方面更好? 问候,sirmak

使用并行FOR循环节省时间

我有一个关于并行循环的问题。 我有以下代码: public static void MultiplicateArray(double[] array, double factor) { for (int i = 0; i < array.Length; i++) { array[i] = array[i] * factor; } } public static void MultiplicateArray(double[] arrayToChange, double[] multiplication) { for (int i = 0; i < arrayToChange.Length; i++) { arrayToChange[i] = arrayToChange[i] * multiplication[i]; } } public static void […]

究竟是什么PLINQ?

在.NET 4.0框架中添加了PLINQ,作为对LINQ的扩展。 它是什么? 它解决了什么问题? 什么时候适合,什么时候不适合?

variables声明之后的一个问号是什么意思?

虽然在一个开源项目中玩耍,但我试图ToString一个DateTime对象被编译器阻止。 当我跳到这个定义时,我看到了这个: public DateTime? timestamp; 可能有人请赐教我这是什么,为什么它可能是有用的?

在元素中将属性序列化为Xml属性

我有以下class级: [Serializable] public class SomeModel { [XmlElement("SomeStringElementName")] public string SomeString { get; set; } [XmlElement("SomeInfoElementName")] public int SomeInfo { get; set; } } 其中(当填充一些testing数据时)以及使用XmlSerializer.Serialize()进行序列化时会得到以下XML: <SomeModel> <SomeStringElementName>testData</SomeStringElementName> <SomeInfoElementName>5</SomeInfoElementName> </SomeModel> 我需要的是: <SomeModel> <SomeStringElementName Value="testData" /> <SomeInfoElementName Value="5" /> </SomeModel> 有没有一种方法来指定此属性,而不写我自己的自定义序列化代码?

如何加载reflection操作的.NET程序集,随后卸载它?

我正在编写一个工具来报告有关在我的客户端系统中部署的跨环境和区域的.NET应用程序的信息。 我想阅读这些程序集中的程序集属性的值。 这可以使用Assembly.ReflectionOnlyLoad来实现,但是即使这种方法也能保持程序集的加载。 这里的问题是我不能加载两个具有相同名称的程序集,所以自然不能比较在不同系统中部署的相同应用程序。 在这一点上,我假设解决scheme将涉及使用临时AppDomain的。 有人可以详细说明如何将程序集加载到另一个AppDomain ,从中读取属性,然后卸载AppDomain ? 这需要为文件系统上的程序集以及URL地址上的程序集起作用。

在debugging过程中,在Visual Studio中自动附加到subprocess

当为媒体中心编写插件时,你的插件被托pipe在ehexthost.exe这个exe从ehshell.exe启动,你无法直接启动它,而是传递一个特殊的参数给ehshell.exe ,这个特殊的参数将在单独启动插件处理。 当我们正在debugging媒体浏览器时,我发现附加到第二个过程种类笨重的过程中,我知道有关Debugger.Attach以及我可以使用的一些特殊的registry项。 这两种方法都不完全适合我的账单。 我想要的是按F5,并将我当前的Visual Studio实例自动附加到subprocess。 可以这样做吗? 如果有一个VS的插件,可以让我实现这个function,我会很高兴。 编辑 我结束了与下面的macros: Public Sub CompileRunAndAttachToEhExtHost() DTE.Solution.SolutionBuild.Build(True) DTE.Solution.SolutionBuild.Debug() Dim trd As System.Threading.Thread = New System.Threading.Thread(AddressOf AttachToEhExtHost) trd.Start() End Sub Public Sub AttachToEhExtHost() Dim i As Integer = 0 Do Until i = 50 i = i + 1 Try For Each proc As EnvDTE.Process In DTE.Debugger.LocalProcesses If (proc.Name.IndexOf("ehexthost.exe") […]

使用非黑色背景颜色将透明PNG转换为JPG

我在.Net中使用System.Drawing.Image来做一个从png到jpeg的简单转换。 我基本上只是使用这两行代码: Image img = Image.FromFile(filename); img.Save(newFilename, System.Drawing.Imaging.ImageFormat.Jpeg); 它工作正常,除了当由于alpha通道的PNG文件包含透明度。 在这种情况下,转换后的jpeg具有黑色背景。 有没有办法让背景变成白色呢?

Visual Studio – 更改类时自动刷新类视图

我来自Java的背景,并花了很多年使用Eclipse。 使用Visual Studio(2008)时,我错过了一个function是当我更改类时,类视图不会自动刷新。 在Eclipse中,它有一个(类)“大纲”窗口,它代表当前类,并显示方法/属性等,这总是更新到正在使用的类。 VS中等效的“类视图”不会根据当前正在访问的类自动刷新。 我想知道有没有人知道如何做到这一点? 理想情况下,我希望VS视图与Eclipse相似,但是这个function非常棒。 在此先感谢,威尔