草庐IT

xsockets.net

全部标签

c# - .NET/C# 调试 : How to debug a classical heisenbug?

最近,我遇到了一个经典的Heisenbug.情况是这样的:我在一个面板中有一个树列表,即主视图,在右侧的另一个面板中有一个详细View,显示有关当前选定树节点的信息。(与Windows资源管理器非常相似。)当我向树中添加一个新节点时(想想在Windows资源管理器中右键单击一个文件夹并说“新建->文件夹”),新创建的节点被选中。问题是:右侧的详细View应该更新以显示新节点。然而,事实并非如此。我必须切换到另一个树节点一次,然后才能在详细View中看到有关新节点的信息。该错误很容易重现,并且在“发布”和“调试”构建配置中都会发生。但是:一旦我在事件处理程序中设置断点(用于“添加新节点”

c# - JSON POST 的 ASP.Net MVC CSRF 预防

我想关闭通过AJAX发布原始JSON的CSRF漏洞。我熟悉MVC使用ValidateAntiForgeryTokenAttribute和@Html.AntiForgeryToken()自动预防CSRF的机制;但是,如果我理解正确的话,这种机制要求POST是使用application/x-www-form-urlencoded的Content-Type完成的>(或类似)。ASP.NetMVC中是否有一种内置机制会拒绝application/json的Content-Type的POST请求的CSRF?如果不是,我是否坚持将防伪放入JSON对象本身?您能否推荐一种技术来保护JSONPOST请

c# - .NET 字节而不是字符的正则表达式

我正在尝试做一些使用正则表达式会更容易的解析。输入是字节数组(或枚举)。我不想将字节转换为字符,原因如下:计算效率内存消耗效率一些不可打印的字节可能很难转换为字符。并非所有字节都是可打印的。所以我不能使用Regex.我知道的唯一解决方案是使用Boost.Regex(适用于字节-C字符),但这是一个C++库,使用C++/CLI进行包装将需要大量工作。如何在不使用.NET字符串和字符的情况下直接在.NET中对字节使用正则表达式?谢谢。 最佳答案 此处存在一些阻抗失配。您希望在.Net中使用使用字符串(多字节字符)的正则表达式,但您希望使

c# - ASP.Net Inproc session 在 VS2012 中的标记更改后重新启动

我将我的开发机器升级到Windows8和VisualStudio2012。我正在本地IIS上测试我的ASP.Net应用程序(也已升级到.net4.5)。让我恼火的一件事是,在我上次的配置(Windows7、VS2010、.net4.0)中,InProcsession在更改标记文件后重新启动。示例:我登录到我的本地ASP.net应用程序,在*.ascx文件中进行并保存更改,刷新我的网络浏览器,然后session消失了。如何关闭session重启问题?编辑:我尝试使用新的VS2012Web应用程序项目模板重现该问题,删除了不必要的内容,但无法重现该问题。但是,在我的实际项目中,问题仍然存在

c# - 如何(重复)从 .NET SslStream 读取超时?

我只需要阅读N来自SslStream的字节但如果在超时之前没有收到任何字节,则取消,同时让流保持有效状态以便稍后重试。(*)这对于非SSL流很容易完成,即NetworkStream只需使用它的ReadTimeout使流在超时时抛出异常的属性。不幸的是,这种方法不适用于SslStream根据官方文档:SslStreamassumesthatatimeoutalongwithanyotherIOExceptionwhenoneisthrownfromtheinnerstreamwillbetreatedasfatalbyitscaller.ReusingaSslStreaminstance

c# - 显示 .NET Core 中间接引用的包中的类

我正在尝试使用ASP.NET/EntityFrameworkCore实现基本的UoW/Repository模式,但我遇到了非常麻烦的行为。我的解决方案总共包含4个项目。.DAL项目,其中定义了我的实体类和定义了我的DbContext:publicclassProduct{publicintId{get;set;}publicstringName{get;set;}}publicclassApplicationDbContext:DbContext{publicDbSetProducts{get;set;}}.Facade项目,其中定义了我的IUnitOfWork和IProductRep

c# - GraphQL 为 .net 开发做好准备

我发现GraphQL是一种诱人的选择,可以将前端开发与API分离(可能非常适合我们公司,该公司为每个客户进行大量API定制)。但是,我不太清楚它是否已准备好用于.NET开发环境,或者它是否仍被视为一项早期技术?我也不知道它背后是否有更大的问题(例如N+1问题)。在.NET实现中对GraphQL有任何经验和指导吗? 最佳答案 一个月后这里没有答案这一事实应该说明了它的故事。我已将关注点从.NETFramework转移到.NETCore,在试用了可用的.NET库后,我很快就选择了基于TypeScript构建的API网关和更成熟的Face

c# - 我可以在没有 .net 中的 .config 文件的情况下指定 supportedRuntime(或任何其他配置参数)吗?

我有一个WinForms应用程序,只需.exe文件即可轻松部署。它使用框架2.0,因此默认情况下它不能在Windows8上运行。如果我包含一个具有以下参数的.config文件,它在W8上工作正常:但是,现在我必须部署两个文件,这是NotAcceptable。我可以做些什么来将这些参数“嵌入”到exe本身中吗?我尝试过使用WinZip自解压器,但它也不是一个选项,因为我无法自定义它的界面。 最佳答案 .NET可执行文件包含一小段native代码,旨在将适当的CLR版本加载到进程中。加载程序调用shim(MSCOREE.DLL,.NET

c# - 在 ASP.NET Core Web Api 中发布流

你好可爱的StackOverflow的人们。从昨天开始,我遇到了问题,从那以后我一直在浏览SO。我有一个UWP客户端和ASP.NETCoreWebApi。我只想向我的WebAPI发送一个流,但实际上这比我想象的要难。我有一个只有一个属性的类。Stream属性如下所示:publicclassUploadData{publicStreamInputData{get;set;}}然后这是我的WebApi代码://POSTapi/values[HttpPost]publicstringPost(UploadDatadata){return"test";}我尝试从正文中读取流,但结果是一样的。我

c# - 如何以编程方式创建有效的自签名 X509Certificate2,而不是从 .NET Core 中的文件加载

我目前做的是使用OpenSSL生成PFX文件。这会导致不必要的依赖,尤其是对于Windows用户。所以我找到了一些关于如何使用BouncyCaSTLe创建自己的证书的示例,但是这个库与.NETCore不兼容(或者我找不到兼容的包)。那么,是否可以仅使用.NET核心创建您自己的自签名X509证书以避免依赖OpenSSL(或任何其他证书生成外部工具)?编辑:有人(编辑?)建议这个SO问题Howtocreateaself-signedcertificateusingC#?提供了一个答案。可悲的是,这与.NETCore无关。接受的答案以ThisimplementationusestheCX50