将字符串写入XML文件而不进行格式化(C#)

我编写了一个函数,它根据我的应用程序中保存的数据构建XML字符串。 接下来,应将此字符串写入实际的XML文件,以便可以使用它。 然后,此文件将在HTML Web应用程序中用于提供数据。 我正在使用以下代码片段来做到这一点: xmlDoc.Save(“exercise.xml”); 很容易,但有一个小的捕获。 我的XML文件在Firefox中无法正常工作,因为它将空格视为childNode。 重写我的整个Web应用程序几乎是不行的,因为它的工作量太大了。 我宁愿能够以非格式化的方式将我的XML字符串保存到XML文件,因为我已经测试并确认它几乎适用于所有可想到的浏览器。 字符串本身不包含任何回车符或制表符,因此Save() – 方法可能会自动添加它。 有什么方法可以阻止它这样做,或者另一种简单的方法来规避这个?

如何忽略搜索条件中的null属性

我有一个不好的要求; 无论如何,我必须在我的应用程序中实现它。 我有一个Track课程 public class Track { public string Name { get; set; } public string City { get; set; } public string Country { get; set; } } 我有一些测试数据 List Records = new List { new Track { City = “a”, Name = “a”, Country = “i” }, // Track 1 new Track { […]

.Include()。Where()。Linq to Entities Query中的.Select()

我有一个查询下表的Linq查询:具有一对多链接的任务:TaskLinks和TaskLinks具有指向实体的表的一对一链接。 我正在尝试选择任务,急切加载(通过.Include)TaskLinks并选择链接到TaskLink的实体。 但是我需要过滤Task(通过Access Level int)和TaskLinks,这样我就不会包含任何Inactive(bool)记录。 这是我的Linq查询: Tasks.Where(t => t.AccessLevel tl.TaskLinks.Where(tl2=> tl2.IfInactive == false) .Select(tls => tls.Entity)) 我在LinqPad中运行此查询,我收到以下错误,我不明白: ArgumentException:Include路径表达式必须引用在类型上定义的导航属性。 使用虚线路径作为参考导航属性,使用Select运算符作为集合导航属性。 参数名称:路径 如何重新编写此查询以便我可以过滤包含的任务链接,并选择实体? 先感谢您!! 短发

什么是ConnectionString为访问mdb文件创建OdbcConnection

我想使用Odbc从c#连接到Access MDB文件。 当我尝试执行时 OdbcConnection con = new OdbcConnection( “Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\\temp\\test.mdb;”); 我得到以下exception: exc {System.Data.Odbc.OdbcException (0x80131937): ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode) at System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection connection, OdbcConnectionString constr, OdbcEnvironmentHandle environmentHandle) at System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) at […]

使用ILMerge合并.dll文件无法正常工作

首先,我不确定这是否是ILMerge的问题,但我无法将.dll文件合并到我的应用程序中。 我在命令行上尝试了这个: ilmerge /target:winexe /out:test.exe MyApp.exe lib1.dll lib2.dll lib3.dll 我收到以下错误,我不知道这意味着什么: MyApp的元数据中报告了错误。 与D:\ C#\ source \ bin \ ReleaseMyApp.exe关联的pdb已过期。 我顺便使用最新版本(2.10.526.0),但是我不能让它工作,我真的需要一些帮助。 上述错误意味着什么,我该如何解决?

Windowsapp store中的密码哈希

我正在为我的应用程序编写身份validation服务。 客户端将通过HTTP连接到此身份validation服务以进行注册或连接。 连接后,他们将收到一个会话密钥,他们可以使用加密的TCP / UDP数据包发送到辅助服务器。 这仍然是WIP所以,只是为了给你一个大图概述。 在Serverside中,我使用BCrypt来哈希传入的密码。 并将其存储在数据库中。 在Serverside中,我还使用BCrypts Verify方法检查存储哈希的任何传入密码。 所以这基本上有效。 但是,我自然不想通过线路传输未加密的密码。 Windows Store应用程序没有BCrypt,但我发现了一些MSDN示例代码,演示了如何使用新的Cryptography API for Windows Store应用程序来散列字符串,如下所示: public static string Hash(string password) { HashAlgorithmProvider provider = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha512); CryptographicHash hash = provider.CreateHash(); IBuffer buffer = CryptographicBuffer.ConvertStringToBinary(password, BinaryStringEncoding.Utf16BE); hash.Append(buffer); IBuffer hashedBuffer = hash.GetValueAndReset(); return CryptographicBuffer.EncodeToBase64String(hashedBuffer); } 我计划让各种客户端连接到该服务,而不仅仅是Windowsapp store应用程序(也是传统的Windows桌面应用程序)。 所以很自然地我想要“一种”方式来散列密码客户端。 我需要有关我应该实现的其他安全机制的建议,如果使用SHA512对密码客户端进行散列,如上面的代码中所示,在将其传输到服务器(在存储之前再次散列并加盐)时“足够”。

为什么MassTransit消息中不允许使用结构?

MassTransit的使用者接口都希望消息模型是类而不是结构。 因为它们都是内部接口(我必须说非常好的设计),这是显示约束的通用容器类,直接取自源代码 : /// /// Declares a Consume method for the message type TMessage which is called /// whenever aa message is received of the specified type. /// public static class Consumes where TMessage : class 对于刚开始使用该技术的人来说,这不是一个问题,但这对我们来说很麻烦,因为在我们的代码库中已经有了与命令模式相关的对象,甚至在考虑使用服务总线框架之前,所以我们不得不改变了很多接口和generics类来为它们添加这个约束来与MT一起工作。 我们很幸运没有明确地拥有任何struct类型,因为这可能会导致更多(可能是不需要的)更改。 为什么它要求消息类成为一个class ? 是否可以更改它,以便库与现有代码更加无缝地连接? 我认为虽然没有添加约束,所以可能存在一些并发症。

这可能是由C#.NET编写Win32 .dll文件吗?

这可能是由C#.NET编写Win32 .dll文件吗? 如果是的话,我可以在哪里找到一些教程? 如果不是,那么您对Win32 .DLLs的建议是什么? 谢谢。

如何防止使用Moq调用基类构造函数?

如何防止使用Moq调用基类构造函数? 我无法用Moq模拟一个对象,因为正在调用基类构造函数并且它需要真正的对象,所以我想停止调用基类构造函数。 var parametersMoq = new Mock(null, “Params”, null){ CallBase = false, }; _storedProcedureAccessor._parameters = parametersMoq.Object; MyDerivedClass的基类构造函数导致了我的问题。

通过JSON / PHP(base64_encode)从基于图像的C#中解释base 64

所以我能够成功读取图像文件,并将其传递回我的C#应用​​程序,但我无法正确解码。 我通过PHP返回JSON数据(json_encode函数未显示): $imgbinary = fread(fopen($filename, “r”), filesize($filename)); if ( strlen($imgbinary) > 0 ){ return array(“success”=>true, “map”=>base64_encode($imgbinary)); } 然后在C#中我使用Newtonsoft.Json解码字符串(我可以成功读取成功和地图属性),但我无法使用base64解码将图像正确写入文件(或显示)。 我是这样做的: File.WriteAllText(System.Windows.Forms.Application.StartupPath + “\\MyDir\\” + FileName, Base64Decode(FileData)); public string Base64Decode(string data) { byte[] binary = Convert.FromBase64String(data); return Encoding.Default.GetString(binary); } 我在这里想念一些疯狂的东西吗? 真正奇怪的是我解码数据后,文件大小比原始文件大。 (我知道一旦你编码,数据增加了大约33%,奇怪的是,在我解码后,它仍然更大)。 任何帮助/指针将不胜感激!