草庐IT

安全机制

全部标签

c# - (自动)依赖注入(inject)绑定(bind)机制

创建依赖项注入(inject)绑定(bind)的两种常见机制(例如通过IOC容器)来自XML配置或命令式代码块。在这些情况下,键值对是显式的(即键=请求的类型,值=返回的类型)。仍然存在第三种“启发式”方法,其中仅向应用程序/IOC容器提供[IMyClass]键,然后容器反射(reflect)一组应用程序程序集依赖项以找到所有名称匹配的具体类[MyClass]。换句话说,“返回类型”值是发现的而不是声明的。我想知道的有两个方面:哪些IOC容器(或其他后期绑定(bind)工具)允许启发式方法?这种方法有更通用的名称吗?除了我列出的三种绑定(bind)技术外,还有其他用于实践的绑定(bin

c# - MSYS/Cygwin 使用什么机制来模拟 Unix 域套接字?

我正在尝试编写(在C#中)一个软件,该软件通过(MSYS模拟的)Unix域套接字与另一个使用MSYS构建的软件进行通信。我了解到“套接字服务器”(我不清楚正确的术语是什么)会创建一个临时文件,其内容如下:!59108282F93E1-9E2D051A-46B57EFC-64A1852F59108对应于一个TCP端口,“套接字服务器”正在环回接口(interface)上监听该端口。使用数据包捕获工具,我已经能够确定“套接字客户端”连接到此端口,并通过环回接口(interface)交换信息。我在我的软件中复制了这个行为,“套接字客户端”连接到我的监听端口,但没有传输任何信息。我相信这里还有

c# - RequestAdditionalTime() 的安全开销是多少?

我有一个Windows服务,它在单独的线程上生成一组子事件,并且只有在所有这些事件都成功完成后才会终止。我事先不知道在收到停止信号后终止事件可能需要多长时间。在OnStop()期间,我每隔一段时间等待该停止信号,并不断请求额外的时间,只要系统愿意授予它即可。基本结构如下:classMyService:ServiceBase{privateCancellationTokenSourcestopAllActivities;privateCountdownEventrunningActivities;protectedoverridevoidOnStart(string[]args){//.

c# - app.config 文件是存储密码的安全位置吗?

我需要在代码中存储secret密码。我不能使用哈希技术,因为需要密码本身。如何将这些数据安全地存储在app.config文件中?还有其他方法可以安全地完成此操作吗?DPAPI和ProtectDataClass不是一个选项,因为key是系统特定的,例如:连接字符串不能以这种方式为不同的最终用户系统存储。 最佳答案 您可以使用DPAPI(数据保护API)来加密配置文件的某些部分。您的代码仍将使用ConfigurationManager并且解密将由框架处理。有关相同内容的更多信息,请参阅此模式和实践文档HowTo:EncryptConfi

c# - 为什么这个赋值不是线程安全的?

我一直在阅读JosephAlbahari关于线程的这本书:http://www.albahari.com/threading/在第2部分中,我找到了这个示例:http://www.albahari.com/threading/part2.aspx#_When_to_Lock这是前面提到的例子:classThreadUnsafe{staticint_x;staticvoidIncrement(){_x++;}staticvoidAssign(){_x=123;}}线程安全版本:classThreadSafe{staticreadonlyobject_locker=newobject();

c# - 我们如何使用 Cake build 对安全的 NuGet 服务器进行身份验证?

我们正致力于使用CakeBuild自动化我们的构建,我们使用来自nuget.org的NuGet包,但我们也有我们自己的NuGetFeed服务器,它有一个用户名/密码身份验证来访问。我们如何将CakeBuild与带有身份验证的自定义NuGet源服务器一起使用? 最佳答案 Cake使用NuGet.exe安装工具、插件和NuGet别名。除非您在#tool/#addin指令中指定了源或提供给NuGet别名,否则NuGet.exe将在当前路径中查找nuget.config并最终以当前用户全局设置(%AppData%\NuGet\NuGet.c

c# - 在 ASP.Net Web 应用程序数据层中实现静态方法是否安全?

我正在开发一个Web应用程序,它是一个B2B门户应用程序。我的应用程序遵循2层架构。下面是一段代码,将公司注册到我的网站//////RegisterCompanywiththebusinessbazaar/////////publicstaticboolRegisterCompany(Registrationregistration){boolresult;using(varhelper=newDbHelper()){_commandText="sp_RegisterCompany";varsuccess=newSqlParameter("@Success",SqlDbType.Bit

c# - 长时间保持 C# Filestream 打开是否安全?

在我的网络服务中,我打开一个文件流到本地磁盘上的一个文件。在服务的整个生命周期中,我都会保留它。对于传入的每个查询,我都使用文件流来读取磁盘。我这样做是为了避免在每次查询时都必须重新打开文件流。此路径的延迟很关键(应小于几毫秒)。我使用SSD将磁盘IO时间保持在0.1毫秒或更短。文件流能否在很长一段时间(几天)内“变坏”(变得无效)。在每次查询时重新打开文件流是否更安全?如果我必须重新打开,每秒多次重新打开文件流的开销是多少? 最佳答案 只要您需要,保持文件打开是安全的。这对您的情况是否有利-您需要自己决定。重新打开文件不应该很慢(

c# - 安全地对多字节字符进行子串 c#

我正在尝试对包含多字节字符的字符串执行子字符串处理,但没有得到预期的结果。我正在尝试对像?test这样的字符串进行子字符串化。第一个字符是一个4字节字符,因此调用ToCharArray对此字符串返回:55357#第一个字符的字节1和256384#第一个字符的字节3和4116#t101#e115#s116#t因此,当我在此字符串上调用.Substring(1)时,它会返回一个无效字符串,该字符串以第一个字符的第三个和第四个字节开头,而不是“test”。有没有办法让.Substring和其他字符串操作将该字符视为一个单元? 最佳答案 您

c# - .NET 的 ConcurrentDictionary 的哪些成员是线程安全的?

System.Collections.Concurrent.ConcurrentDictionary的MSDN文档说:ThreadSafetyAllpublicandprotectedmembersofConcurrentDictionaryarethread-safeandmaybeusedconcurrentlyfrommultiplethreads.However,membersaccessedthroughoneoftheinterfacestheConcurrentDictionaryimplements,includingextensionmethods,arenotgua