草庐IT

前端安全

全部标签

c# - 使用 Parallel.ForEach() 的 yield return 的线程安全

考虑以下代码示例,它创建一个可枚举的整数集合并并行处理它:usingSystem.Collections.Generic;usingSystem.Threading.Tasks;publicclassProgram{publicstaticvoidMain(){Parallel.ForEach(CreateItems(100),item=>ProcessItem(item));}privatestaticIEnumerableCreateItems(intcount){for(inti=0;i是否保证Parallel.ForEach()生成的工作线程每个都获得不同的项目,或者是否需要一

c# - 通用/类型安全的 ICommand 实现?

我最近开始使用WPF和MVVM框架,我想做的一件事是拥有类型安全的ICommand实现,这样我就不必强制转换所有命令参数。有谁知道这样做的方法吗? 最佳答案 不使用该语法,正如您可能发现的那样:errorCS0701:``System.Func`'isnotavalidconstraint.Aconstraintmustbeaninterface,anon-sealedclassoratypeparameter最好的办法是封装Func界面中的语义,例如:interfaceIFunctor{boolExecute(Evalue);}然

c# - C#++ 运算符在 foreach 循环中是否成为线程安全的?

最近我从VB转到C#,所以我经常使用C#到VB.NET的转换器来了解语法差异。在将next方法转移到VB时,我注意到一件有趣的事情。C#原代码:publicboolExceedsThreshold(intthreshold,IEnumerablebools){inttrueCnt=0;foreach(boolbinbools)if(b&&(++trueCnt>threshold))returntrue;returnfalse;}VB.NET结果:PublicFunctionExceedsThreshold(thresholdAsInteger,boolsAsIEnumerable(Of

c# - 如何智能安全地将 Double 转换为 String?

尽量不要在这里重复自己(干),帮帮我。=)我有一个double代表评分/5。可能的值是:0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5.我想将其转换为不带小数位的字符串。所以值会变成:"0","05","1","15","2","25","3","35","4","45","5".我为什么要这样做?因为我正在尝试根据值动态创建链接:stringlink="http://somewhere.com/images/rating_{0}.gif";returnstring.Format(link,"15");可能的值在别处处理/验证,换句话说,我可以100%确定该值将始终是我

c# - .NET 2.0 : File. AppendAllText(...) - 线程安全实现

作为无聊的好奇心练习,考虑以下简单的日志记录类:internalstaticclassLogging{privatestaticobjectthreadlock;staticLogging(){threadlock=newobject();}internalstaticvoidWriteLog(stringmessage){try{lock(threadlock){File.AppendAllText(@"C:\logfile.log",message);}}catch{...handleloggingerrors...}}}File.AppendAllText(...)周围是否需要锁

c# - .NET 程序集插件安全

我在许多应用程序中使用了以下代码来加载公开插件的.DLL程序集。但是,我以前总是关心功能,而不是安全性。我现在正计划在除我以外的其他组可以使用的Web应用程序上使用此方法,并且我想确保该功能的安全性是合格的。privatevoidLoadPlugins(stringpluginsDirectory){Listfactories=newList();foreach(stringpathinDirectory.GetFiles(pluginsDirectory,"*.dll")){Assemblyassembly=Assembly.LoadFile(path);foreach(Typety

c# - 将盐与散列密码一起存储有多安全

如果您查看过asp.net成员(member)系统的表模式,它们会存储原始密码的哈希值以及用于生成它的盐。请参阅下面的架构,dbo.aspnet_MembershipApplicationIdUserIdPasswordPasswordFormatPasswordSaltMobilePINEmail...如果攻击者掌握了数据库,他是否更容易从加盐和散列密码中破解原始密码?查看一些记录后,似乎为每个密码生成了一个新的盐。这有什么意义?您会推荐这种方法,还是在代码中硬编码常量salt相关Aresaltsuselessforsecurityiftheattackerknowsthem?

c# - HttpContext.Current.Cache 是线程安全的吗?

请检查下面的代码:objDDLTable=HttpContext.Current.Cache["TestSet"]asHashtable;if(objDDLTable==null){objDDLTable=newHashtable();arrDDLItems=GetDropDownList("testDropDown");objDDLTable.Add("testDropDown",arrDDLItems);HttpContext.Current.Cache["TestSet"]=objDDLTable;}elseif(objDDLTable!=null&&!objDDLTable.C

c# - 通过 C# Action 手动将 SASS 编译为 CSS 以实现可自定义的前端布局

我尝试构建一个可由我的用户自定义的Web前端。我的用户没有任何webDev技能,我在内部使用SCSS文件所以我想给他们我的sass变量进行定制。(您之前可能在一些著名的CSS框架的themeRollers中看到过类似的东西。)所以我的工作流程是这样的:用户获取我的SASS变量进行编辑他们将这些变量发布到Controller操作神奇:我的.SCSS文件变成了.CSS文件我保存.CSS文件以供以后的网络请求使用我需要你的帮助,因为我不知道第3步应该是什么样子。也许您已经实现了这个或者您有一个有用的想法。非常感谢任何建议 最佳答案 所以我

c# - 在 ASP.NET 事件处理程序中使用 async/await 是否安全?

当我遇到这个时,我正在用ASP.NET编写一些代码:protectedasyncvoidsomeButtonClickHandler(...){if(awaitblah)doSomething();elsedoSomethingElse();}询问后this问题我对async/await的工作原理有了更好的理解。但后来我突然想到,以上述方式使用async/await是否安全?我的意思是在调用awaitblah之后,调用者继续执行。这意味着它可能会在awaitblah完成之前将响应返回给客户端。这是正确的吗?如果是这种情况,doSomething()/doSomethingElse()会