Articles of .net

有了MongoDB,是否可以通过.NET Reactive Extensions(RX)接收第三方编辑的通知?

我想知道是否有人知道是否有可能通过C#中的反应扩展(RX)获得任何编辑MongoDB数据库的实时通知? 这意味着任何第三方都可以编辑MongoDB数据库,服务可以监控编辑并即时对它们做出反应。 我曾经尝试过 我花了大量的时间在Google和其他地方研究这个问题,并且通过了所有可能相关的NuGet包。 我能find的唯一的比赛涉及Java,并且是德语的 。 更新1 看着可以玩的游标,在这里: http://www.warski.org/blog/2012/11/event-streaming-with-mongodb/

CoWaitForMultipleHandles API的行为不像logging

这是我看到的另一个问题引发的。 阅读可能太长,请耐心等待。 显然, CoWaitForMultipleHandles行为不像MSDN上logging的那样。 下面的代码(基于原始问题)是一个控制台应用程序,它启动一个testingWin32窗口的STA线程,并尝试发布和泵送一些消息。 它在CoWaitForMultipleHandles上做了三个不同的testing,都没有 COWAIT_WAITALL标志。 testing#1旨在validation这一点 : COWAIT_INPUTAVAILABLE如果已设置,则即使input已经被查看(但未被删除),但对CoWaitForMultipleHandles的调用将返回S_OK,如果队列中存在input,则会调用另一个函数(例如PeekMessage)。 这不会发生, CoWaitForMultipleHandles阻塞,并不会返回,直到等待手柄信号。 我假设任何挂起的消息应该被视为input (与MWMO_INPUTAVAILABLE的MsgWaitForMultipleObjectsEx相同,预计工作)。 testing#2旨在validation这一点 : COWAIT_DISPATCH_WINDOW_MESSAGES允许从ASTA或STA中的CoWaitForMultipleHandles分派窗口消息。 在ASTA中默认是没有窗口消息派发,STA中的默认只是一小组调度的特殊的消息。 该值在MTA中没有意义,并被忽略。 这也不pipe用。 当CoWaitForMultipleHandles调用COWAIT_DISPATCH_WINDOW_MESSAGES时,会立即返回错误CO_E_NOT_SUPPORTED (0x80004021)。 如果是COWAIT_DISPATCH_WINDOW_MESSAGES | COWAIT_DISPATCH_CALLS的组合 COWAIT_DISPATCH_WINDOW_MESSAGES | COWAIT_DISPATCH_CALLS ,呼叫块但不会泵送任何消息。 testing#3演示了我可以使CoWaitForMultipleHandles泵送调用线程的Windows消息队列的唯一方法。 这是COWAIT_DISPATCH_WINDOW_MESSAGES | COWAIT_DISPATCH_CALLS | COWAIT_INPUTAVAILABLE的组合 COWAIT_DISPATCH_WINDOW_MESSAGES | COWAIT_DISPATCH_CALLS | COWAIT_INPUTAVAILABLE COWAIT_DISPATCH_WINDOW_MESSAGES | COWAIT_DISPATCH_CALLS | COWAIT_INPUTAVAILABLE 。 这确实泵和发送消息,虽然显然这是一个无证的行为。 testing代码 (一个准备运行的控制台应用程序): using System; using System.Runtime.InteropServices; using System.Threading; […]

从Win32_PrintJob获取总页数

Win32_PrintJob WMI类有很多属性。 (请参阅MSDN上的Win32_PrintJob ) 我有一个小型的.NET应用程序,可以打印作业并显示作业的信息。 TotalPages propery给出了发送的页面数量。 但是这个数字没有考虑到用户请求的拷贝数量。 所以,如果用户想打印两页文档的5份副本, TotalPages的值将是2,而不是10。 如何获得打印作业的副本数量,或者获取要打印的页面总数(副本数量乘以作业中的页面数量)? 谢谢

处理用TrayIcon的ShowBalloonTip()显示的气球提示上的点击

我使用TrayIcon类的ShowBalloonTip方法来显示气球提示。 有没有办法处理这个气球的点击? 当我点击气球时,似乎没有生成任何事件,它只closures气球。

如何从exe文件中提取与用于创build此exe文件相同的.ico文件?

我试图做一些SFX:使一个程序生成一个wrapping.exe围绕另一个wrapped.exe。 Wrapping.exe将wrapped.exe作为资源embedded,并在执行时将wrapped.exe保存到临时文件夹中,并使用特定的命令行参数执行,然后将其删除。 wrapped.exe并不总是一个.Net程序,我没有它的源代码。 wrapping.exe应该在.net 3.5中完成,以便可以在Windows 7 SP1和更高版本上使用,而无需事先安装.Net。 Wrapping.exe是使用.Net 4.6中的Roselyn使用C#程序生成的。 我需要wrapping.exe通过资源pipe理器像wrapped.exe一样可视化。 我用硬编码的.ico文件做了一个成功的testing。 代码看起来像这样(简体): var compilation = CSharpCompilation.Create(…); var resourceDescription = new ResourceDescription( resourceName: "SFX.resourceName", dataProvider: () => File.OpenRead("wrapped.exe"), isPublic: false); using (var iconStream = File.OpenRead(@"wrapped.ico")) using (var peStream = File.Create("wrapping.exe")) using (var pdbStream = File.Create("wrapping.pdb")) using (var win32resStream = compilation.CreateDefaultWin32Resources( versionResource: true, noManifest: false, manifestContents: null, […]

find用户networking服务的临时文件夹?

我试图编写一个包装来帮助我们的客户恢复SQL Server数据库。 默认情况下,SQL Server作为用户networking服务运行,其权限非常有限。 我们的客户有时会感到困惑,他们不能指向任何位置的备份文件并将其恢复。 我想将文件从他们select的位置复制到SQL Server可以访问的临时位置,但我很难find位置。 我不能只调用Path.GetTempPath(),因为这给了我SQL Server不能访问的用户临时文件。 有一个文件夹,我可以检索,将始终工作?

PowerShell中的echo和Write-Host有什么区别?

我对PowerShell中的echo和Write-Host之间的区别感到困惑。 我有两个文件, POC.ps1和validatePath.ps1 。 这些文件在我的本地机器上,我正在使用Invoke-Command在远程机器上运行它们。 我正在使用PowerShell v3.0。 要执行这两个脚本,我使用下面的命令: .\POC.ps1 -filename C:\Users -user Blaine 这是两个文件: POC.ps1: param($filename, $user) echo $filename echo "This" echo $user $responseObject = Invoke-Command testcomputer -FilePath .\validatePath.ps1 -ArgumentList($filename, $user) -AsJob while($responseObject.State -ne "Completed") { } $result = Receive-Job -Id $responseObject.Id -Keep echo $result 这里是奇怪的地方… validatePath.ps1: Param([string] $filename, [string] $user) function ValidatePath( $filename, $user, […]

阅读事件日志从最新到最旧

我已经写了一个简短的程序来build立使用在启动和closures时发布的事件日志消息的远程PC的正常运行时间。 目前的逻辑是: foreach (eventlogentry) { if (entryTime > OldestTime) { if (entry = Startup) { addOnTime(entry.Time); } if (entry = Shutdown) { addOffTime(entry.Time); } } } “OldestTime”定义了在多长时间后向后扫描…. 我想知道是否有任何方法可以轻易地修改我的程序,从最新到最旧的事件读取事件? 它正在读取远程事件日志,并且需要一段时间才能运行此function,因为它从最后开始并向前读取。 我知道这一点,因为我添加了一个“其他”块到第一个“如果”突破foreach块,如果条目不是在我们正在寻找的时间范围内,程序停止在它读取的第一个事件。

如何在VB.NET中切换Caps Lock?

使用VB.NET,如何切换Caps Lock的状态?

Windows Mobile开发:.Net精简版与原生(c ++)代码的select

我在一个经验丰富的多元化开发团队工作,我们正在准备迎接我们的第一个移动开发,这将是Windows Mobile 6(平台的变化不是一种select)。 我们拥有用于Windows桌面和服务器开发的Visual C ++和.Net技术方面的技能和经验。 移动开发将包括一些image processing和对蓝牙设备的读/写访问。 不幸的是,我不能给出更多的细节。 我们试图在使用托pipe代码或本地代码编写移动客户端之间作出select。 我们将分别使用C#或C ++。 我的问题是: 这些语言之间预期的性能差异有多大? 我听说移动设备上的本机代码速度显着加快,但我很乐意听到有经验的人。 在使用Windows Mobile服务访问蓝牙设备方面,两种语言是否有任何重大优势? 托pipe或本地代码之间的电池使用时间是否有影响? 还有其他主要的应该知道我们要考虑? 感谢您的反馈。