草庐IT

enable-client-side-hooks-when-com

全部标签

c# - RabbitMQ 持久队列不工作(RPC-Server,RPC-Client)

我想知道为什么我的RabbitMQRPC-Client在重启后总是处理死消息。_channel.QueueDeclare(queue,false,false,false,null);应该禁用缓冲区。如果我在RPC客户端中重载QueueDeclare,我将无法连接到服务器。这里有什么问题吗?知道如何解决这个问题吗?RPC-服务器newThread(()=>{varfactory=newConnectionFactory{HostName=_hostname};if(_port>0)factory.Port=_port;_connection=factory.CreateConnectio

c# - 启用 native 代码调试以深入 COM 对象

我有一些代码使用由COM公开的第3方库(ArcObjects)。例如,IGeometry接口(interface)。IGeometrygeometry=GetGeometry();现在,当我想查看对象成员时,我打开一个QuickWatch:我读过几个问题,它们都指向VisualStudio2015中的“启用native代码调试”选项。我已经启用该选项但无济于事。如何让调试器公开COM对象的成员?编辑:当使用VS2010和.NET3.5时,这有效: 最佳答案 如果您还拥有组件的PDB和源代码,则启用非托管调试只会产生有用的副作用。你不

c# - COM接口(interface)指南

我不太了解COM接口(interface),所以我有一个小问题,假设我有这段代码:[Guid("148BD528-A2AB-11CE-B11F-00AA00530503"),InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]internalinterfaceIEnumWorkItems{[PreserveSig()]intNext([In]uintRequestCount,[Out]outSystem.IntPtrNames,[Out]outuintFetched);voidSkip([In]uintCount);voidReset

c# - Rhino 模拟 - AssertWasCalled : How to improve unclear diagnostic message when incorrect arguments

恕我直言,RhinoMocks在使用AssertWasCalled时会产生一条不清楚的诊断消息,以验证是否已使用特定参数调用方法。例子:interfaceISomeInterface{voidWrite(strings);}[TestFixture]publicclassSomeTests{[Test]publicvoidWriteShouldBeCalledWithCorrectArguments(){//Arrangevarmock=MockRepository.GenerateMock();varsut=newSomeClass(mock);//Actsut.DoSomethin

c# - 使用 Smtp.mail.microsoftonline.com 发送电子邮件

上下文:我们是一家小公司,没有Exchange服务器(或任何专用于它的服务器),但我们仍然需要接收/发送电子邮件。我们决定使用Microsoft在线服务(MOS)目标:我们有一个Web服务器(带有IIS6.0的WindowsServer2003R2)并部署了一个C#ASP.NetMCV应用程序。每次用户创建帐户时,Web应用程序都需要发送电子邮件。根据documentation我们需要使用端口(587)并确保启用传输层安全性(TLS)。此外,使用的FROM地址必须是“权威”类型,当我通过MicrosoftOnlineAdministrationCenter仔细检查时就是这样。代码:我的

c# - 是否可以从 .NET 测试暴露于 COM 的程序集?

我有一个.NET程序集,我通过一个tlb文件向COM公开了它,还有一个注册tlb的安装程序。我已手动检查安装程序是否正常工作以及COM客户端是否可以访问该库。到目前为止,还不错...但是,我正在尝试将一些自动化系统测试放在一起,以检查安装程序是否正常工作。作为其中的一部分,我已经在VM上自动安装,现在我想对安装的COM库进行一些调用以验证它是否正常工作。我最初考虑用VB6编写一些测试,但我已经有一大套用C#编写的测试,它们引用了.NET程序集。我希望我可以更改这些以引用.tlb,但是当我在VS2008中尝试此操作时出现错误:ActiveX类型库“blah.tlb”是从.NET程序集导出

c# - 如何检查 COM dll 是否已在 C# 中注册

我在VS2008、C#、.NET3.5和VSTO中创建了一个Office加载项。它通过ClickOnce部署。运行时配置表单执行regsvr32以注册项目中包含的“fooapi.dll”,由于ClickOnce限制,该项目无法在安装期间注册。是否有任何首选方法来检查并查看“fooapi.dll”是否在运行时在C#中注册? 最佳答案 试试Type.GetTypeFromCLSID或Type.GetTypeFromProgID快速检查COM接口(interface)是否存在的方法。或者,只需实例化对象并捕获异常,例如catch(COME

c# - 无法在 COM 客户端中添加对 COM 的引用?

创建了一个COM服务器,我注册了它。当我尝试在COM客户端中添加该COM服务器时,我无法添加,并且出现以下错误。"Areferenceto'COMTest'couldnotbeaddedTheActiveXtypeLibrary'c\user\~\Debug\COMTest.tlb'wasexportedfroma.NETassemblyandcannotaddedasareference.Addareferenceto.NETinstead"谁能告诉我这是什么错误。我以两种方式注册COM,从VS也尝试使用命令提示符。 最佳答案 这

c# - 有没有办法在 C# 中 Hook 托管函数,就像在 C++ 中 Hook 非托管函数一样?

在C++中,我会获取函数的地址并将前几个字节覆盖为我的函数的jmp,做一些事情,恢复原始字节,然后调用原始函数。我可以在C#中做这样的事情吗? 最佳答案 .NETProfilerAPI是最接近“Microsoft认可”的运行时拦截方法的方法。如前所述,这有点难以实现,而且我不知道有哪个库可以使用纯托管代码轻松实现这一点。几个月前,当我自己研究这个选项时,我偶然发现了CLRMethodInjection,这是一篇带有源代码的文章,解释了如何在运行时拦截方法。我考虑过自己使用它,甚至让示例项目运行起来,但最终得出结论,我需要的不仅仅是方

c# - 在名为 test113.onmicrosoft.com 的租户中找不到名为 HTTPS ://test113. onmicrosoft.com/FTP 的应用程序

我必须针对AzureAD对应用程序进行身份验证。我已经创建了WebAPI并将其添加到AzureAD应用程序部分。更改了list文件,创建了一个WebAPI并使用AzureAD进行了身份验证,并创建了一个Windows窗体,其中包含以下代码:privateasyncvoidbutton1_Click(objectsender,EventArgse){stringauthority="https://login.windows.net/test113.onmicrosoft.com";stringresourceURI="https://test113.onmicrosoft.com/ft