【c# – 当使用Fakes时,在被测试的方法中调用私有方法的“模拟”】教程文章相关的互联网学习教程文章

从C#代码使用python.net调用具有命名参数的python函数【代码】

我想从C#代码中调用python函数.为此,我使用Python for .NET调用函数,如以下代码行所示using System;using Python.Runtime;public class Test{public static void Main(){using(Py.GIL()){dynamic lb = Py.Import("lb");dynamic result = lb.analyze("SomeValue");Console.WriteLine(result);}}}python函数是这样的:def analyze(source, printout = False, raw = True):# removed for bravity所以问题是,当我从C#代码中调用分析函数...

c#-Moq具体的类方法调用【代码】

我有一个这样的设置,带有一个具体的类,该类在要测试的方法中实例化.我想模拟这个具体的类,不要让它执行内部代码.因此,不应引发任何异常:public class Executor {public bool ExecuteAction(ActionRequest request){switch (request.ActionType){case ActionType.Foo:var a = new Foo();return a.Execute(request);case ActionType.Bar:var b = new Bar();return b.Execute(request);}return true;} }public class Foo {public vir...

c#-在哪个线程上调用SocketAsyncEventArgs Completed以及在何处处理消息

我有一个使用SocketAsyncEventArgs异步接收UDP数据包的标准实现.我从文档和一些谷歌搜索中无法理解的是我是否应该真正处理回调本身内部的消息,例如我所指的完整实现中的this comment indicates,还是应该将处理工作卸载到其他线程,例如通过ConcurrentQueue或BlockingCollection. 我的担忧如下: >如果直接在回调中进行处理,是否会由于临时线程池不足或其他一些实现细节而降低接收性能或引入随机延迟?>由于处理上的细微延迟(与仅卸载...

c#-Service Fabric-为状态服务调用命名分区【代码】

我似乎无法弄清楚如何使用ServiceProxy将呼叫发送到特定的命名分区,并且似乎也没有针对此的任何文档.这就是您要对Int64RangePartitionInformation执行的操作var partitionInformation = (Int64RangePartitionInformation)selectedPartition.PartitionInformation; var partitionKey = ServicePartitionKey(partitionInformation.LowKey); IListen listenerClient = ServiceProxy.Create<IListen>(uri,partitionKey );但是似乎没...

通过Xamarin.Forms中的WebView中的Javascript onClick事件调用C#函数【代码】

我有一个WebView类型的帖子,我设法将它作为字符串与服务响应绑定在一起,但是我有一些链接,例如具有其ID的相关帖子.在单击这些链接时,我希望用户转到该文章.我尝试了许多解决方案,但看起来JavaScript不会在点击时调用,而是在加载时调用,因为我完整的WebView被视为字符串,并且如果将其串联起来,它肯定不会保留为脚本. 这是我完整的WebView代码,所附的屏幕截图是WebView中的链接. 我设法通过将整个响应串联在字符串中来使其工作.以下是...

c#-PostSharp将调用堆栈显示为“方面代码”,并使调用堆栈的可用性降低

在代码的某些断点上,调用堆栈显示为“方面代码”,并且我无法使用调用堆栈窗口来标识或向上浏览调用堆栈.什么时候发生,为什么? 我卸载了PostSharp,然后消失了.有没有办法阻止PostSharp执行此操作? 我有PostSharp的免费版本.我从5.升级到6.0.27,没有运气.解决方法:默认情况下,Visual Studio中的PostSharp扩展在调用堆栈视图中隐藏外观和生成的代码,以使其更简洁,更易于使用. 您可以通过打开PostSharp选项对话框并启用选项“在调用堆...

在C#中调用的存储过程如何在不提供所有可选参数的情况下正确插入数据?【代码】

我正在尝试使用Dapper将带有存储过程的数据从C#程序插入SQL Server数据库中.尝试执行此操作时,没有出现任何错误,但是很遗憾,某些数据被插入到错误的列中. 数据库由许多表和列组成,因此使用存储过程来正确插入数据.我已经在SQL Server本身中对存储过程进行了广泛的测试,并且可以肯定在直接在服务器上执行SQL代码时正确放置了数据. 这是调用存储过程的代码,以及存储过程脚本的一小部分.public void AddIndividual(string genus, stri...

C#-有时嘲笑Web服务调用

我正在尝试为现有应用编写验收测试. 但是,当我调用一个Web服务时会遇到一个问题,该服务告诉我们一个人是否总之在办公室,什么时间,以及谁在备份. 在大多数测试中,实际上调用Web服务是可以的……是的,理想情况下不应该,但是为多次调用此服务创建输入和输出是一项巨大的任务. 我想做的是让Mock生成默认结果,而不管输入是什么,但是由于调用和结果中存在临时数据,因此需要通过基于参数的代码来生成它. 而且,如果我选择的话,能够在逐个测...

c#-是否会按严格的时间顺序调用GTK超时回调?【代码】

当我在不是主线程(gtk_main()所在的线程)的线程中添加许多不同的超时(每个intervall == 0)时…g_timeout_add(0, func, NULL);…然后,不同的func()回调会以我调用相应g_timeout_add()的顺序发生吗? 我问的原因是因为GTK#在内部使用超时来实现Application.Invoke()(请参阅Application.cs和Timeout.cs). 编辑:有关的glib文件是 > http://git.gnome.org/browse/glib/tree/glib/gmain.c> http://git.gnome.org/browse/glib/tree/glib/...

在C#中从另一个子窗体调用一个子窗体【代码】

我有3种形式:FormA,FormB和FormC,其中FormA是mdiParent形式,而B和C是子形式.我在FormA加载事件中编写以下代码.private void frmMain_Load(object sender, EventArgs e) {formB.MdiParent = this; //formB is instance of FormB formC.MdiParent = this; //formC is instance of FormCformB.Show(); }我想要的是当我单击FormB上的按钮时,应该显示FormC.现在要做的是,我需要在FormB中的按钮单击事件中创建FormC的...

在ascx页面中从C#方法调用返回的字符串的垃圾回收

对于在ASP.NET上开发的Web应用程序,我们发现对于用户控制文件(ascx),由于方法调用,我们将返回长字符串.这些使用特殊标记<%%>嵌入到ascx页面中. 在对应用程序执行内存转储分析时,我们发现其中许多字符串没有被垃圾回收.同样,ascx页面被编译为临时DLL,并保存在内存中.这是否导致长字符串保留在内存中而不被垃圾回收? 注意:字符串的大小大于85K.解决方法:如果它们是作为字符串文字生成的,则很可能是对其进行了实习.在应用程序的生...

c#-如果没有响应,如何取消Web服务调用

我有一个网页(.aspx),该网页调用第三方Web服务以获取一些数据.通常需要几秒钟才能获得响应,然后页面的其余部分将被加载.有时,由于网络服务中断或互联网连接等原因,呼叫被卡住,页面只是挂在那儿而无法加载. 我的问题是: 1)是否可以在设定的时间后中止/取消Web服务调用? 2)甚至可以在调用之前验证Web服务的状态? 谢谢.解决方法:这个问题将为您指明正确的方向.它讨论了如何为Web服务设置默认超时,因此如果花费太长时间,它将自动取消...

c#-使用反射从.NET 64位exe调用.NET 32位dll中的方法【代码】

我有一个32位.NET类库,它具有一个简单的公共类和一个简单的公共方法.我有一个使用反射的64位.NET控制台应用程序,我希望加载32位程序集并使用其方法.using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Reflection; using Host.TestLib;namespace test {class Program{static void Main(string[] args){var lib = Assembly.LoadFrom("Simple32bitAssembly.dll");}} }运行此命令时...

有可能用javascript调用C#函数吗?

我写了一个Office插件,它具有一个功能:openFile(String path)在office插件中,我嵌入了一个浏览器对象,并可以将网页嵌入到office插件中,现在希望我可以调用C#函数“ openFile”,并使用javascript在网页中传递路径,并让office为我打开指定的文件.这可能吗 ?我能做什么 ?解决方法:对的,这是可能的. 这是通过window.external属性(和主机端的ObjectForScripting)完成的.请参阅FAQ下的WebBrowser Control Overview. 快乐的编码. 编辑:...

C#:将参数的值迭代到调用堆栈中其他位置的函数

我想检查传递给我(a?)调用堆栈中较高函数的参数.在Perl中,我将使用Devel::StackTrace获取堆栈跟踪,获取正确的帧(一个Devel::StackTrace::Frame对象),然后从那里我可以访问它所传递的参数. 有人知道在C#中执行此操作的方法吗?解决方法:在.Net中这是不可能的.您可以获得的最接近的结果是使用StackTrace :: GetFrames调用枚举当前的堆栈帧.这将使您可以访问当前的StackFrame实例集,但是从那里不能访问函数参数. 编辑 根据您的评论,听...