小编Wim*_*ink的帖子

将XDocument转换为XmlDocument,反之亦然

这是一个非常简单的问题.我使用XDocument生成XML文件.然后我想将它作为XmlDocument类返回.我有一个XmlDocument变量,我需要将其转换回XDocument以追加更多节点.

那么,在XDocument和XmlDocument之间转换XML 的最有效方法是什么?(不使用文件中的任何临时存储.)

c# xml linq-to-xml

187
推荐指数
4
解决办法
11万
查看次数

开源项目的代码签名证书?

我想将我的一个应用程序发布为开源,并希望使用我自己的证书对我创建的二进制文件进行数字签名.(当然,其他任何人都可以下载代码并使用自己的证书自行构建.)我想这样做,所以任何人都可以检查这个版本是由我而不是其他人制作的.我还想创建一个具有有效SSL证书的安全网站,以便访问者可以安全地创建自己的帐户,以便他们可以为此项目做出贡献.

我可以创建一个自签名证书,但我真的不喜欢这个选项.或者,我可以向Verisign支付几块金币,以获得仅在几年内有效的证书.我也不喜欢那种选择,因为我的宝库对我来说很有价值.

那么,还有其他选择吗?例如,通过提供降价证书来支持开源项目的提供商?它不一定是免费的,比Verisign便宜很多......

(该项目是使用Visual Studio 2008在C#中创建的.另外还有一个需要SSL的ASP.NET项目.)

open-source code-signing-certificate

102
推荐指数
7
解决办法
6万
查看次数

用于.NET的XPath和XSLT 2.0?

.NET 3.5并不完全支持XPATH 2.0或XSLT 2.0,这太糟糕了.有谁知道这两个将在未来的.NET版本中被包含和完全支持吗?

.net xslt xpath

90
推荐指数
3
解决办法
4万
查看次数

无意中造成了病毒?

我经常看到它发生:我在Delphi中编写应用程序,当我编译它时,病毒扫描程序告诉我,我已经创建了病毒,然后立即再次删除可执行文件.通过执行完全重建,首先删除*.dcu文件,有时只是等待,这很烦人但很容易修复.

据我所知,它发生在德尔福6,7,2005和2007年.赛门铁克,卡巴斯基,迈克菲和NOD32都对​​报告这些误报感到内疚.我知道这是因为Delphi为其DCU文件添加了时间戳,这些时间戳最终在最终的可执行文件中,显然似乎是一些随机病毒签名的一部分.

我不想禁用病毒扫描程序,即使对于单个文件夹或文件也是如此.我并不是真的想要解决方案,但我想知道以下内容:

  • 其他编译器也会出现这些误报吗?
  • .NET可执行文件是否也会发生这种情况?
  • 其他人是否也注意到与Delphi类似的问题?

delphi antivirus virus false-positive

55
推荐指数
5
解决办法
9986
查看次数

如何检测Windows版本是否合法?

我对获取版本信息不感兴趣.我想要做的就是确保我的应用程序只能在合法版本的Windows上运行,而不是在盗版版本上运行.Windows使用一些技巧来确定这一点但仍然允许盗版版本继续运行,尽管有一些限制.

那么,有没有办法检查应用程序是否安装在合法的正版Windows版本上?(Vista和更好,至少.)


让我澄清一下:微软并没有阻止用户使用他们的操作系统的未经验证或非法版本.因此,我没有任何理由在这样的版本上阻止我的申请.但我确实希望我的应用程序知道非法版本,并警告用户他的Windows版本未经过验证.也许他忘了,也许他不想验证.可能有很多原因,我不想阻止它们,只是让他们意识到他们的Windows版本的问题.

此外,当有人使用无效版本的Windows时,如果它是商业产品,我可能希望对我自己的软件进行更严格的验证检查.在我的免费产品中,我只想要一个烦人的弹出窗口,每天只出现一次.

未经验证的Windows版本的主要问题是它们可能包含其他间谍软件和其他恶意软件,并且他们可能无法获得所有必需的更新.这些Windows版本的保护功能比经过验证的Windows版本弱.由于我的几个应用程序使用敏感数据,我不希望任何恶意软件泄露这些敏感数据.

另外,我认为盗版软件对任何免费替代品都有害.如果不是所有那些漫游的盗版Windows版本,Linux和FreeBSD会更受欢迎.使用盗版软件的人不太可能首先购买该产品,但我更希望他们使用免费替代品.盗版软件对微软有一点伤害,但它对Free社区造成的伤害更大,因为它让人们与那些商业产品保持联系......

windows piracy piracy-prevention windows-vista

23
推荐指数
5
解决办法
2万
查看次数

如何解决"HTTP错误404.3 - 未找到"错误?

简单的问题.我启动VS2008并创建一个新的WCF服务应用程序.这将创建一个默认应用程序,其中包含一些显示其可用的测试方法.我按CTRL + F5确实有效!大!但是,它使用Visual Studio Development服务器,我不想支持它.

所以我转到项目属性,切换到使用本地IIS Web服务器,创建虚拟目录并再次按CTRL + F5.而这个"HTTP错误404.3 - 未找到"错误让我回想起来.

所以我的IIS7/Vista-64设置中的某些内容是错误的.我能错过什么?

c# wcf iis-7 visual-studio-2008 http-status-code-404

20
推荐指数
4
解决办法
6万
查看次数

使用正则表达式检查变音符号

简单问题:现有项目允许我添加其他字段(对这些字段进行额外检查作为正则表达式)以支持自定义输入表单.我需要添加一个新表单,但无法更改此项目的工作方式.此表单允许访问者输入他的名字和姓氏以及姓名缩写.因此RegEx ^[a-zA-Z.]*$现在工作得很好.
然后有人注意到它不会接受变音字符作为输入.土耳其名称Ömür不被视为有效.但是,它需要被接受.

所以我有两个选择:

  1. 完全删除检查,这将允许用户输入垃圾.
  2. 写一个正则表达式,其中也包括变音符号,但仍然没有数字,空格或其他非字母.

由于我无法更改项目的代码,我只有这两个选项.我更喜欢选项2,但现在想知道适当的RegEx应该是什么.(该项目是用C#4.0编写的.)

regex .net-4.0 c#-4.0

17
推荐指数
1
解决办法
1万
查看次数

进程间通信

我有两个应用程序:X和Y.X
是主应用程序,它处理大量的XML文件.它有超过10年的历史,已经使用了六种技术来存储,处理和处理这些XML文件.
Y是我正在开发的调试工具,它可以以更易于阅读的形式处理和显示XML文件.基本上,它只有一组样式表,可以检测XML格式,如果它识别格式,它会将XML转换为HTML,它显示在TWebBrowser组件中.

问题:
当Y处于活动状态时,我希望X将其执行的任何XML发送到Y以进行显示.但只有当Y在运行时!如果Y没有运行,X就不会做任何事情.
Y的检测需要在任何时刻完成,并且需要快速.我考虑过使用TCP/IP通信,但是由于缺少Y而造成的延迟太长了.特别是因为有时会处理很多XML.与命名管道和类似的基于网络的解决方案相同的问题.我需要快速确定Y是否正在运行且可用,如果是,请快速发送XML然后继续X.
我还考虑使Y成为基于COM的应用程序,或者可能添加基于COM的DLL,其中包含允许的事件进程间通信.DLL解决方案会很有趣,因为它会向X公开一个方法来上传XML文件,然后向Y发送一个事件来处理XML.这似乎是最好的选择虽然我还需要检查DLL是否已注册.如果没有,那么X甚至无法调用它!
应用程序X也将由不会收到Y或其他DLL的客户使用,因此在大多数情况下,DLL将不会被注册.(正如我所说,这意味着在调试期间提供帮助......)

但也许还有其他选择?TCP/IP太慢,COM有点过于复杂.


X和Y将在同一系统上运行.或者只是X将在系统上,Y完全丢失.


关于使用内存映射文件......虽然实用,但我需要记住,大多数情况下,Y不会运行,因此MMF会浪费内存.X中的XML数据最大可达4 MB,因此在内存中具有此大小的多个块有点矫枉过正.它可用于在X和Y之间发送状态消息,但内存有时是应用程序X的一个问题.虽然MMF可以连接到物理文件,但我试图避免写入任何临时文件.
这是一个很好的解决方案,但我担心不够好.


我认为还有一些额外的解释.应用程序X是一个应用程序,将使用几个小时,用户执行大量操作,转换为大量处理的XML数据.应用程序X是一个桌面应用程序,它与多个Web应用程序(REST),Web服务(SOAP)和其他应用程序进行通信,其中大部分是通过XML进行的.
应用程序Y只是为了窥视X正在运行的进程.基本上,X工作了20分钟,Y弹出.从那一刻开始,X应该开始向Y发送XML,直到Y再次消失或者X终止.在大多数情况下,Y只会运行以捕获正在运行的任务的一小部分,甚至可能多次启动.但我可能会想到整个方向都是错误的.也许X应该是Y注册的服务器......当Y找不到X时,这不是一个真正的问题.但是X找不到Y不能导致延迟或其他问题...

delphi winapi ipc delphi-2007

14
推荐指数
3
解决办法
9492
查看次数

这是等待Thread.finalization并保持我的应用程序响应的正确方法

实际上我使用这个代码并且工作正常,但我想知道是否是正确的方法.

  while WaitForSingleObject(MyThread.Handle, 0) = WAIT_TIMEOUT do
    Application.ProcessMessages;

  ShowMessage('i am done');
Run Code Online (Sandbox Code Playgroud)

delphi multithreading waitforsingleobject

13
推荐指数
2
解决办法
9437
查看次数

单数词或复数词的最佳实践?

这是关于一般的最佳实践,不是针对单一语言,数据库或其他任何内容

我们都必须处理生成的输出,您可以报告"一个产品"或"两个产品".阅读不太好...有些人只是通过使用"一个产品"或"产品数量:(1)"来解决这个问题,其他人可能有其他解决方案.

在不同的口语中,事情可能会更加复杂!在法语中,当你的产品为零时,你会使用单数形式,而不是复数形式!(零产品)其他语言(中文,日文)甚至可能缺乏这些语法差异或者有两个以上不同的词来表示产品的数量.(例如,复数和更大的复数.)

但为了保持这一点,让我们专注于具有单数和复数单词的语言.

在设置新项目时,还必须生成报告,如何处理单数和复数单词?您是否在数据库中为单数和复数形式添加了两个名称字段?您是否在代码中添加了其他规则以将单词从单数转换为复数?你用其他技巧吗?

在处理需要跟踪单数和复数形式的项目时,您如何处理这个问题?

localization plural singular

12
推荐指数
1
解决办法
5312
查看次数