草庐IT

$安全工具

全部标签

c# - 通过线程池多路复用 C# 5.0 的异步——线程安全吗?

这可能看起来有点疯狂,但如果我可以合理地确定它不会导致奇怪的行为,我正在考虑将其作为更大库的一部分。方法:使用分派(dispatch)到线程池的SynchronizationContext运行异步用户代码。用户代码看起来像这样:asyncvoidDoSomething(){intsomeState=2;awaitDoSomethingAsync();someState=4;awaitDoSomethingElseAsync();//someStateguaranteedtobe4?}我不确定对someState的访问是否是线程安全的。虽然代码将在一个“线程”中运行,这样操作实际上是完全

c# - 具有上限的线程安全集合

我正在寻找具有以下属性的集合:threadsafe:将在asp.net中使用,多个客户端可以同时尝试添加、删除和访问成员ma​​xelements:我希望能够在构造时设置一个上限,最大元素数TryAdd:一种与BlockingCollection.TryAdd(T)相同的方法将是完美的,即如果已达到最大元素数,它将返回false类似字典:在大多数其他方面是ConcurrentDictionary将是完美的,即能够通过键识别元素,删除任何项目(不仅仅是第一个或最后一个,我认为这将是BlockingCollection的限制)在尝试自己动手之前,我的问题是:我是不是错过了一个可以对集合中的

c# - Performans & Diagnostics - VS2013 Ultimate 中不适用的工具

我在Windows8.1Pro上使用VisualStudio2013Ultimate,并希望使用探查器分析我的Web项目的性能指标。但是Performances&DiagnosticTools部分中的许多工具都被禁用了。我想使用内存使用率和CPU使用率,但它们被列为“不适用的工具”我该如何使用这个工具??谢谢你的帮助.. 最佳答案 “可用工具”基于项目类型。ASP.NET项目只能使用性能向导工具。无法使其他工具适用于不受支持的项目类型。 关于c#-Performans&Diagnosti

c# - 文件上传安全问题

我有一个可供公众使用的Web表单,它具有文件上传功能。现在文件要么保存在网络服务器上,要么作为电子邮件附件发送出去。我们对大小有限制,即15MB和上传文件的扩展名。我们的SMTP服务器位于同一网络服务器上。我担心安全问题,因为任何人都可以上传恶意文件并对我们的生产Web服务器产生影响。这种公开的文件上传控制对我有什么风险?是否有人可以通过上传恶意文件在Web服务器上执行恶意脚本。我做了一些研究,发现了以下几点如果我在电子邮件中将文件作为附件发送,该文件将临时存储在临时ASP.Net文件夹中,一旦发送电子邮件,该文件就会被删除。您可以在将文件保存到文件系统之前重命名文件。您可以将文件保存

c# - SignalR 安全

我是SignalR的新手,但我很好奇它的安全性。例如,我创建了以下方法来向所有用户发送消息,如下所示:publicclassNotificationHub:Hub{publicvoidSend(stringmessage){Clients.All.broadcastMessage(message);}}SignalR在js文件(集线器)中生成以下方法:proxies.notificationHub.server={send:function(message){returnproxies.notificationHub.invoke.apply(proxies.notificationH

c# - XSD 工具在生成 C# 代码时将 "Specified"附加到某些属性/字段

我无法真正解释XSD生成器的奇怪行为。我有一个像这样的XSD:SomeDoc............它派生自CoreObject:...这只是XSD的一小部分,还有很多更复杂的类型。所以当我生成类似于this的类时,我得到一个生成的类,它有两个属性(除了我期望的5个属性):publicboolMinDuration_100msSpecified和publicboolStageOnDemandSpecified因此“原始”属性被附加了“Specified”,类型现在是bool。谁能解释为什么会这样? 最佳答案 bool属性表示相关属性

c# - 将热键/快捷方式文本放在winforms中的工具条菜单项旁边

我希望能够在winforms中显示分配给工具条菜单项的热键组合。例如,在任何程序(甚至您的浏览器设置菜单)中,您都可以看到各种菜单项,通常,与它们的项目右侧对齐的是它们的热键快捷方式。我想以编程方式执行此操作。示例:而不是键入Openafile(ctrl+O)我想让属性彼此独立显示。我怎样才能做到这一点? 最佳答案 您想使用ShortcutKeysToolStripMenuItem的属性。这将使您可以为每个菜单项选择所需的特定组合键,它会显示在菜单项的右侧。确保将ToolStripMenuItem的ShowShortcutKeys属

c# - 出于相同目的使用现有 .NET 程序集与命令行工具的优缺点

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我在网上搜索过,似乎找不到与此主题相关的任何内容。我认为应该对此进行一些讨论。我只是找不到它。基本上,我正在寻找的是使用现有.NET程序集来执行(较旧的)命令行可执行文件可以执行的相同操作的充分理由。因此,如果我使用程序集,我会包含它并开始在我的C#代码中使用它。对于我们旧的命令行工具,我会执行Process.Start(...)等等。背景是:我需要对传

c# - 我如何获得由 regsvr32 工具注册的所有非托管 dll 的列表?

我使用regsvr32注册和注销非托管DLL,以便在我的C#应用程序中使用它。但是我在regsvr32工具中没有看到列出所有已注册DLL的任何参数,那么我如何才能获得所有已注册DLL的列表? 最佳答案 要查看所有已注册的DLL,您可以使用以下免费实用程序:RegDllView是一个查看系统上注册的dll/ocx/exe文件的工具,也可以从资源管理器注册dll文件。ListDLLs是另一个报告加载到进程中的DLL的工具。您可以使用它来列出加载到所有进程中的所有DLL、加载到特定进程中的所有DLL,或者列出加载了特定DLL的进程。Lis

c# - C# .NET 中的 UTF-16 安全子字符串

我想得到一个给定长度的子字符串,比如150。但是,我想确保我不会切断unicode字符之间的字符串。例如看下面的代码:varstr="Hello?world!";varsubstr=str.Substring(0,6);此处substr是无效字符串,因为笑脸字符被切成两半。相反,我想要一个执行以下操作的函数:varstr="Hello?world!";varsubstr=str.UnicodeSafeSubstring(0,6);其中substr包含“Hello?”作为引用,以下是我在Objective-C中使用rangeOfComposedCharacterSequencesForR