Questions tagged «.net»

请勿使用有关.NET Core的问题,而应使用[.net-core]。.NET框架是主要为Microsoft Windows操作系统设计的软件框架。它包括基类库,公共语言运行时(通常称为CLR),公共类型系统(通常称为CTS)和动态语言运行时的实现。它支持多种编程语言,包括C#,VB.NET,F#和C ++ / CLI。

6
如何追踪log4net问题
我一直都在使用log4net,但我从未想过的一件事是如何判断内部发生了什么。例如,我的项目中有一个控制台附加程序和一个数据库附加程序。我对数据库和代码进行了一些更改,现在数据库附加程序不再起作用。我会弄清楚最终为什么,但是如果我能看到log4net里面发生了什么,那将会很有帮助。 log4net是否会生成任何类型的输出,我可以查看这些输出以尝试确定问题的根源?
191 .net  logging  log4net 

13
阵列与列表的性能
假设您需要一个整数列表/数组,并且需要经常迭代,而我的意思是非常频繁。原因可能会有所不同,但是说这是大批量处理最内层循环的核心。 通常,由于大小的灵活性,人们会选择使用列表(List)。最重要的是,msdn文档声称Lists在内部使用数组,并且执行速度应该一样快(对Reflector的快速浏览可以确认这一点)。没关系,这涉及一些开销。 有人实际测量过吗?遍历一个列表6M次与数组花费相同的时间吗?

11
连接到网络共享时如何提供用户名和密码
当连接到当前用户(在我的情况下,是启用网络的服务用户)没有权限的网络共享时,必须提供名称和密码。 我知道如何使用Win32函数(WNet*来自的家族mpr.dll)来执行此操作,但想使用.Net(2.0)功能来执行此操作。 有哪些选项可用? 也许更多信息可以帮助您: 用例是Windows服务,而不是Asp.Net应用程序。 该服务在没有共享权限的帐户下运行。 共享所需的用户帐户在客户端未知。 客户端和服务器不是同一域的成员。

13
在foreach循环中编辑字典值
我正在尝试从字典构建饼图。在显示饼图之前,我想整理数据。我要删除所有小于饼图5%的饼图切片,并将它们放入“其他”饼图切片中。但是我Collection was modified; enumeration operation may not execute在运行时遇到异常。 我了解为什么在迭代它们时不能在字典中添加或删除它们。但是我不明白为什么不能简单地在foreach循环中更改现有键的值。 任何建议:修复我的代码,将不胜感激。 Dictionary<string, int> colStates = new Dictionary<string,int>(); // ... // Some code to populate colStates dictionary // ... int OtherCount = 0; foreach(string key in colStates.Keys) { double Percent = colStates[key] / TotalCount; if (Percent < 0.05) { OtherCount += colStates[key]; …
191 c#  .net  .net-2.0 



5
获取程序集名称
C#的异常类具有一个source属性,该属性默认情况下设置为程序集的名称。 是否有另一种方法来获取此确切的字符串(不分析其他字符串)? 我尝试了以下方法: catch(Exception e) { string str = e.Source; //"EPA" - what I want str = System.Reflection.Assembly.GetExecutingAssembly().FullName; //"EPA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" str = typeof(Program).FullName; //"EPA.Program" str = typeof(Program).Assembly.FullName; //"EPA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" str = typeof(Program).Assembly.ToString(); //"EPA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" str = typeof(Program).AssemblyQualifiedName; //"EPA.Program, EPA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" }


10
这个新的ASP.NET安全漏洞有多严重,如何解决?
我刚刚在网上阅读了有关ASP.NET中新发现的安全漏洞的信息。您可以在此处阅读详细信息。 问题在于ASP.NET实施AES加密算法以保护这些应用程序在用户会话期间生成的用于存储信息的cookie的完整性。 这有点含糊,但这是一个更令人恐惧的部分: 攻击的第一阶段需要数千个请求,但是一旦成功,攻击者获得了秘密密钥,就完全是秘密的。所需的密码知识非常基础。 总而言之,我对安全性/加密图主题还不够熟悉,无法知道这是否真的那么严重。 那么,所有ASP.NET开发人员都应该担心这种可以在几秒钟之内拥有任何ASP.NET网站的技术吗? 此问题如何影响普通的ASP.NET开发人员?它对我们有影响吗?在现实生活中,此漏洞的后果是什么?最后,是否有防止该漏洞的解决方法? 感谢您的回答! 编辑:让我总结一下我得到的答复 因此,这基本上是一种“ padding oracle”攻击。@Sri对这种攻击的含义提供了很好的解释。这是有关此问题的令人震惊的视频! 关于此漏洞的严重性:是的,确实是严重的。它使攻击者可以了解应用程序的机器密钥。因此,他可以做一些非常不需要的事情。 拥有应用程序的机器密钥后,攻击者可以解密身份验证Cookie。 甚至更糟糕的是,他可以使用任何用户的名称生成身份验证cookie。因此,他可以在网站上以任何人的身份出现。该应用程序无法区分您还是使用您自己的名字生成身份验证Cookie的黑客。 它还使他能够解密(并生成)会话cookie,尽管这不像前一个那么危险。 不太严重:他可以解密页面的加密ViewState。(如果您使用ViewState存储机密数据,则无论如何都不应该这样做!) 出乎意料:借助机器密钥,攻击者可以从您的Web应用程序下载任何文件,甚至通常无法下载的文件也是如此!(包括Web.Config等) 这是我得到的很多好的实践,它们不能解决问题,但有助于提高Web应用程序的总体安全性。 您可以使用受保护的配置加密敏感数据 使用仅HTTP cookie 防止DoS攻击 现在,让我们集中讨论这个问题。 斯科特·格思里(Scott Guthrie)在他的博客上发布了关于它的条目 ScottGu的有关该漏洞的FAQ博客文章 ScottGu关于漏洞的更新 Microsoft对此有安全建议 了解漏洞 有关漏洞的其他信息 解决方案 启用customErrors并创建一个将所有错误都重定向到的错误页面。是的,甚至是404s。(ScottGu说,区分404和500是此攻击的必要条件。)此外,在您的代码中Application_Error或Error.aspx放置一些会造成随机延迟的代码。(生成一个随机数,并使用Thread.Sleep睡眠那么长时间。)这将使攻击者无法确定服务器上到底发生了什么。 有人建议切换回3DES。从理论上讲,如果您不使用AES,就不会遇到AES实现中的安全漏洞。事实证明,根本不建议这样做。 其他一些想法 似乎并非 每个人都认为解决方法足够好。 感谢所有回答我的问题的人。我不仅从这个问题中学到了很多知识,而且从总体上学到了网络安全方面的知识。我将@Mikael的答案标记为已接受,但其他答案也非常有用。

4
什么是IndexOutOfRangeException / ArgumentOutOfRangeException,如何解决?
我有一些代码,当它执行时,它抛出一个IndexOutOfRangeException,说: 指数数组的边界之外。 这是什么意思,我该怎么办? 根据使用的类,它也可以是 ArgumentOutOfRangeException mscorlib.dll中发生类型'System.ArgumentOutOfRangeException'的异常,但未在用户代码中处理。其他信息:索引超出范围。必须为非负数并且小于集合的大小。






By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.