草庐IT

传播机制

全部标签

c# - 如何避免主体从工作线程传播到 GUI 线程

我们有一个带有工作线程的Windows应用程序需要更新GUI。我们使用BeginInvoke异步执行此操作。我们的问题(在下面的示例中演示)是Principal被传播到我们想要避免的GUI线程,因为在我们的实际应用程序中,我们执行的服务器请求由于错误的身份而失败。它是一种避免这种传播的方法吗?privateThread_thread;publicForm1(){InitializeComponent();Thread.CurrentPrincipal=newGenericPrincipal(newGenericIdentity("MainUser"),new[]{"User"});_t

.net - 分布式锁机制.NET

我们需要管理任务的并发操作。简而言之,任何时候只能运行此任务的一个版本。问题是我们将在多服务器环境中运行。要求:允许一个方法的实例在任何时候运行一次。(操作系统互斥体)。必须在多服务器环境中工作。如果进程终止,则必须删除Mutex。必须是稳健且成熟的解决方案。环境:WindowsServer(本地).Net蔚蓝到目前为止我考虑的事情:OSmutex:适用于内部部署,不确定它是否会释放锁过程死亡。也不确定Windows是否支持强大的互斥量。DBFlag:适用于内部部署,适用于多服务器。不会解锁过程死亡。AppFabric:尽管需要额外的设置步骤,但可以在内部运行不受欢迎的。适用于多服务器

windows - 从操作系统的角度来看,C++ 中动态加载 DLL 的内部机制?

我无法获得有关从C++动态加载DLL文件的很多信息。我知道它确实使用了一些函数,例如LoadLibrary和FreeLibrary与GetProcAddress。但是从操作系统的角度来看,它实际上是如何在内部工作的,比如它实际在哪里寻找DLL文件,以及它在哪里加载,比如内存?有人可以用一些图表帮助我吗? 最佳答案 DLL搜索顺序在MSDN中描述。,还有一个articleonDLLloading,和两部分articledescribingPEformat(parttwohere)(它们有点旧,但我不认为它们已经过时)。浏览MSDN杂志

c++ - 什么是 C/C++ for Windows 中基于共享内存的轻量级 IPC 机制?

我现在一直在从事一些C++项目,这些项目涉及使用窗口消息进行一些简单的IPC。在许多情况下,通过将数据放入共享内存段然后将指针传递到带有SendMessage的共享内存,一些额外的数据随窗口消息一起传递。称呼。一直重复这个很烦人,但在通过发明另一个IPC系统来解决这种沉闷的重复之前,我想问:是否有满足标准的现有框架?:用C或C++编写(我们在这里使用MSVC)尽可能少的依赖;在最好的情况下,它只是一些使用纯C++和Windows标准库的源文件,可以直接编译到应用程序/库中。适用于WindowsXP及更新版本基于窗口消息和共享内存段构建非常需要正确的错误报告(远程进程消失、远程进程不理解

java - Windows 中 Java 和 C 之间的任何 IPC 机制——不需要套接字

我的要求是使用JSON字符串在Windows上的C客户端和Java服务器之间进行IPC。刚刚意识到我不能在Windows中通过java使用命名管道("\.\pipe\filename")。我不太热衷于使用任何基于网络的架构,因为它会变得更加复杂以确保安全性和速度。请推荐您碰巧知道的任何共享内存/快速解决方案?提前致谢:) 最佳答案 您可以在Windows上使用命名管道;thisquestion和thisquestion的答案给出了不同的解决方案。除此之外,通过使用llvm(在您的情况下为clang),然后使用LLJVMTransla

c++ - 有没有类似于UWP windows.protocol的桌面机制?

UWP应用可以使用ExtensionCategory="windows.protocol"(MSDN)注册自定义方案。我通过注册URI方案(MSDN)了解自定义协议(protocol)处理程序,但它们总是启动应用程序的新实例。我想要的是UWP应用程序的行为:如果当前有一个正在运行的实例,它将被激活。我还查看了URLMonikers和异步可插入协议(protocol)(MSDN),但它们仅在调用进程中的协议(protocol)时有效,例如在使用WebView时。即使某些其他进程(例如Web浏览器)调用该协议(protocol),UWP应用也会被激活。这是针对C++Win32桌面应用程序的

c - Windows 上 C/GTK 应用程序的简单更新机制

我正在开发C/GTK应用程序。我很快就会发布一个新版本,我认为在其中包含一些更新机制会很有用,这样应用程序就能够self更新。我真的只需要简单的东西;如果它只在Windows上运行就足够了,因为在Linux上,该应用程序位于存储库中,因此用户可以轻松更新它。所以我想问一下,是否有一些简单易行的方法来做到这一点(比如一些小型图书馆),或者我必须自己实现吗?谢谢。附言我真的想要一些非常简单的东西,例如,假设应用程序将从包含最新版本号的服务器下载网页。如果应用程序版本号!=服务器版本号,它会获取一个setup.exe,以某种方式检查其真实性并运行它。 最佳答案

c# - C# 类库的开发/运行时许可机制?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion我正在开发一个.Net类库(一个数据提供者),我开始考虑如何处理向潜在购买者授予该库的许可。我所说的许可是指试图阻止未购买我的库的人使用我的库的机制,而不是软件许可(即Apache、Gnu等)。我从来没有处理过许可问题,过去,我一直在开发应用程序,而不是库。我不想为难我的客户;知道不可能让它铁定。只是一些机制可以为我提供体面的保护,而不会让客户跳来跳去或咬牙切齿。我认为当类在开发模式下使用时该机制会检查有

c# - 空传播运算符、out 参数和错误的编译器错误?

假设我有一个类,其属性类型为Dictionary,那可能是空的。这会编译但调用TryGetValue()可以抛出NullRef运行时异常:MyClassc=...;stringval;if(c.PossiblyNullDictionary.TryGetValue("someKey",outval)){Console.WriteLine(val);}所以我添加了一个null传播运算符来防止null,但这不会编译:MyClassc=...;stringval;if(c.PossiblyNullDictionary?.TryGetValue("someKey",outval)??false)

c# - (自动)依赖注入(inject)绑定(bind)机制

创建依赖项注入(inject)绑定(bind)的两种常见机制(例如通过IOC容器)来自XML配置或命令式代码块。在这些情况下,键值对是显式的(即键=请求的类型,值=返回的类型)。仍然存在第三种“启发式”方法,其中仅向应用程序/IOC容器提供[IMyClass]键,然后容器反射(reflect)一组应用程序程序集依赖项以找到所有名称匹配的具体类[MyClass]。换句话说,“返回类型”值是发现的而不是声明的。我想知道的有两个方面:哪些IOC容器(或其他后期绑定(bind)工具)允许启发式方法?这种方法有更通用的名称吗?除了我列出的三种绑定(bind)技术外,还有其他用于实践的绑定(bin