草庐IT

消息安全

全部标签

c# - 自定义消息框

是否可以创建我自己的自定义MessageBox,我可以在其中添加图像而不仅仅是字符串? 最佳答案 我也想要这个功能,所以我创建了WPFCustomMessageBox,nativeWindows/.NETMessageBox的WPF克隆,支持自定义按钮文本等额外功能。WPFCustomMessageBox使用静态方法,就像标准的.NETMessageBox一样,因此您可以即插即用新库而无需修改任何代码。最重要的是,我设计了这个控件,使其看起来与原始的MessageBox完全相同。我创建这个库是因为我想为我的MessageBox按钮使

c# - 在 C# 中,我如何安全地退出带有 try catch block 的锁?

这是一个在锁内发生异常的示例,带有try-catchblock。intzero=0;intj=10;lock(sharedResource.SyncRoot){try{j=j/zero;}catch(DivideByZeroExceptione){//exceptioncaughtbutlocknotreleased}}我如何安全地释放锁扣? 最佳答案 不会自动释放吗?来自MSDN的锁手段System.Threading.Monitor.Enter(x);try{...}finally{System.Threading.Monito

c# - 消息队列系统

我正在编写一个消息队列系统。我的问题是......用文件或数据库来做这个队列更好吗?如果我选择数据库,它需要每秒检查新作业,这对我来说似乎有点开销?如果是文件,我猜你只是不断地监视文件夹并根据它执行?BR, 最佳答案 不要reinventthewheel.[编辑:2014年更新,现在链接到rabbitMQ,因为Ayende已经开始制作文档数据库而不是消息队列,但RabbitMQ又出现了。我不会写这篇文章,但现在帖子需要30个字符,所以我需要多说几句。] 关于c#-消息队列系统,我们在St

c# - 线程安全类是否应该在其构造函数的末尾设置内存屏障?

当实现一个旨在线程安全的类时,我是否应该在其构造函数的末尾包含一个内存屏障,以确保任何内部结构在它们可以被访问之前已经完成初始化?还是消费者有责任在使实例对其他线程可用之前插入内存屏障?简化问题:由于在线程安全类的初始化和访问之间缺少内存屏障,下面的代码中是否存在可能导致错误行为的竞争危险?或者线程安全类本身应该防止这种情况发生吗?ConcurrentQueuequeue=null;Parallel.Invoke(()=>queue=newConcurrentQueue(),()=>queue?.Enqueue(5));请注意,程序不入队是可以接受的,如果第二个委托(delegate)

c# - 如何解析从文件加载的 soap 消息?

我需要将从磁盘加载的SOAP消息解析为生成的代理类型。WCF在收到来自http服务器的消息时执行此操作,因此我应该能够从磁盘执行此操作。我使用WCF使用Web服务,我从远程WSDL生成代理客户端。这是我从网络接收到的XML结构(它是用System.ServiceModel.MessageLogging记录的),我想将其解析为生成的类CRResponse。:0...当我调用Web服务的“GetCR”操作时,消息被正确转换为WCF生成的代理客户端类型GetCRResponse,但我不知道WCF是如何工作的,我需要从磁盘解析文件。我试图以这种方式解析消息:GetCRResponsebody;

c# - 我们可以使用枚举作为类型安全的实体 ID 吗?

我们在EF6.1代码优先设置中使用一个相当大的模型,我们使用int作为实体ID。不幸的是,这并不像我们希望的那样类型安全,因为很容易混淆id,例如比较不同类型实体的id(myblog.Id==somePost.Id)或类似的。或者更糟:myBlog.Id++。因此,我想出了使用类型化ID的想法,因此您不能混淆ID。所以我们的博客实体需要一个BlogId类型。现在,显而易见的选择是使用一个包含在结构中的int,但您不能将结构用作键。而且你不能扩展int...-等等,你可以!使用枚举!所以我想到了这个:publicenumBlogId:int{}publicclassBlog{public

c# - 从 .NET 向 Skype "group"聊天发送消息?

有没有一种简单的方法可以从.NET向Skype发送群聊消息?我不需要响应任何命令或任何东西,因此它不需要是BOT。基本上,我会在一个专用盒子上运行这个程序,Skype作为一个特殊用户运行,我会让它向特定的群聊报告某些信息。我知道有一个SkypeCOM库。我看过基于此的示例,但我无法获得任何牵引力。 最佳答案 currentlyavailableSkypeAPI适用于Windows使用WM_COPYDATA交换基于文本的命令来控制Skype(参见PublicAPIReferencedownload)。有一个新东西叫SkypeKit正在

c# - PDF 下载失败显示消息 "Couldn' t be downloaded“仅在 IE11 中

我将ASP.NET与Web表单一起使用,一些应该非常简单的事情让我发疯,已经提出了类似的问题,但没有一个对我有帮助,IE拒绝下载我的文件。注意事项:我在本地测试它适用于Firefox和Chrome,但不适用于IE11IE将文件名更改为页面名称(例如,它尝试保存default_aspx而不是myfile.pdf)这是我的代码:Response.ClearHeaders();Response.ClearContent();Response.ContentType="Application/pdf";Response.AddHeader("Content-Disposition","atta

c# - 挂接到 WPF 窗口中的 Windows 消息循环会在内部添加白色边框

我正在尝试创建一个带有WindowStyle="None"的WPF窗口(用于自定义按钮,没有标题),无法调整大小。将ResizeMode设置为NoResize会删除我想要保留的航空边框。我可以设置最小/最大大小属性并完成它,除了:调整光标仍然可见,并且显示窗口是为了响应用户操作并适合其内容。它显示图像,因此大小会发生变化。所以,我有一个简单的方案,可以让我完成99%的工作:publicclassBorderedWindowNoResize:Window{[DllImport("DwmApi.dll")]publicstaticexternintDwmExtendFrameIntoCli

c# - 向线程发送消息的最佳方式

将消息发送到在c#/.net中while(1)循环中运行的线程(而不是进程)的最有效和最快的方法是什么:使用同步队列(如BlockingQueues&Thread’sCommunicationinC#)运行消息循环在线程上下文中使用系统winforms的Application.Run并在运行application.run之前订阅一个事件,该事件在线程上下文中捕获消息。使用套接字或命名管道向线程发送消息。在Linux中,我习惯于使用unix域套接字执行此操作,在Windows中执行此操作的等效方法是什么?共享内存文件?命名管道?你怎么看? 最佳答案