草庐IT

时有发生

全部标签

c# - 为什么这里没有发生尾调用优化?

我们正在使用递归来查找因子并收到StackOverflow异常。我们读过theC#compileronx64computersperformstailcalloptimizations:JITdefinitelydoestailcalswhenrunningoptimizedcodeandnotdebugging.在我们的程序中运行dotnet--configurationrelease可以做到这一点:...7214isafactorof12345678907606isafactorof123456789010821isafactorof123456789011409isafactor

c# - 确定堆上对象的对象分配发生的位置

是否有任何工具可以从正在运行的应用程序中获取堆转储,并根据对象在源代码中的创建位置确定/分组对象?无需更改源代码,最好是免费的。 最佳答案 例如,来自ANTS的.NETMemoryProfiler怎么样。也许是CLRProfiler。 关于c#-确定堆上对象的对象分配发生的位置,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6428299/

c# - 当 Azure 推送通知发送失败时会发生什么?

是否有关于NotificationOutcome类在失败时的状态的文档?NotificationOutcomeresult=await_hub.SendNotificationAsync(azureNotification,tags);MSDNdocumentation非常(完全)没用。我猜result.Failure和result.Success的非零值意味着出了点问题(两者似乎都为0表示成功)result.State可能更有用,但似乎也没有太多关于此的文档 最佳答案 我在this上找到了答案页IftheEnableTestSen

c# - 这个 C# 对象初始化程序代码发生了什么?

这段C#代码是怎么回事?我什至不确定它为什么会编译。具体来说,在设置Class1Prop尝试使用对象初始值设定项语法的地方发生了什么?它看起来像是无效的语法,但它会在运行时编译并产生空引用错误。voidMain(){varfoo=newClass1{Class1Prop={Class2Prop="one"}};}publicclassClass1{publicClass2Class1Prop{get;set;}}publicclassClass2{publicstringClass2Prop{get;set;}} 最佳答案 这是ob

c# - 在完全托管的 asp.net c# web 应用程序中是否可能发生缓冲区溢出/溢出

在完全托管的asp.net门户网站中是否存在缓冲区溢出/溢出漏洞。如果是,如何测试。 最佳答案 在一般情况下,您不必担心缓冲区溢出。这是托管代码的主要优点之一,垃圾收集可能是另一个主要优点。您应该注意一些边缘情况-任何时候您的托管代码与非托管代码交互(Win32API调用、COM互操作、P/Invoke等)都可能在非托管代码中发生缓冲区溢出,基于从托管代码传入的参数。标记为“不安全”的代码也可以直接操作内存地址,从而导致缓冲区溢出。不过,大多数C#代码是在不使用“不安全”关键字的情况下编写的。

c# - Application.Run 和 Form.Load 之间发生了什么?

我有一个用VB.NET为Framework4.5编写的WinForms应用程序。我注意到应用程序的启动时间异常长(我写的其他应用程序在启动时几乎立即启动,这个应用程序需要>5秒)多次启动后启动时间不会改变,所以我猜这不是应用程序首次启动期间未缓存CLR代码的情况。我通过记下启动期间的时间做了一些测试:ModulemodMainPublicMyLogAsSystem.Text.StringBuilderPublicSubMain()MyLog=NewSystem.Text.StringBuilderApplication.EnableVisualStyles()Application.S

c# - 检测粘贴事件是否发生在富文本框中

有没有一种方法可以查明富文本框中是否发生了剪贴板粘贴事件?此事件将用于执行某些操作,以及粘贴的文本block。谢谢这是我的代码protectedoverridevoidWndProc(refSystem.Windows.Forms.Messagem){if(m.Msg==WM_PASTE){OnPasteOccurred();MessageBox.Show("Pas");}if(m.Msg==0x000F){if(PaintControl){base.WndProc(refm);}else{m.Result=IntPtr.Zero;}}else{base.WndProc(refm);}

c# - 当它发生在Windows Phone中的System.Windows.ni.dll中发生了类型为 "' System.Reflection.TargetInvocationException'的未处理异常

我正在创建一个WP8应用程序,它使用Web服务来获取、创建、更新和删除数据并显示它。现在的问题是我的应用程序因抛出而崩溃Anunhandledexceptionoftype"'System.Reflection.TargetInvocationException'occurredinSystem.Windows.ni.dll"inWindowsPhone此异常没有堆栈跟踪,我被这个异常困了几个小时。我注意到每当调用服务比正常情况更频繁时就会发生此异常,但我没有得到真正的原因。了解真的很有帮助1.这是什么类型的异常?2.在什么情况下会发生这种情况?3.我们如何处理由于此异常导致的应用程序

c# - 为什么静态字段初始化发生在静态构造函数之前?

以下代码:staticvoidMain(string[]args){Console.WriteLine("0");stringh=Foo.X;Console.WriteLine("2");}publicstaticclassFoo{publicstaticstringX=((Func)delegate(stringg){Console.WriteLine(g);return(g);})("_aaa");staticFoo(){Console.WriteLine("ctor");}}将打印:0_aaactor2我知道beforefieldinit行为(有/没有静态构造函数等)。我不明白的

c# - 如何在发生异常时跟踪所有局部变量

当方法中发生异常时,有什么通用方法可以跟踪/记录所有局部变量的值?(在C#3中) 最佳答案 答案:使用PostSharp(策略注入(inject))、XTraceMethodBoundary属性,覆盖OnException。这记录了所有方法输入和返回参数的类型和值。我修改了PostSharp以添加一个简单的方法来记录参数。不完美但足够好privatestaticvoidTraceMethodArguments(MethodExecutionEventArgseventArgs){object[]parameters=eventArg