草庐IT

智慧公共安全

全部标签

c# - 内部类的公共(public)构造函数是什么意思

这个问题在这里已经有了答案:What'sthedifferencebetweenapublicconstructorinaninternalclassandaninternalconstructor?(5个答案)关闭9年前。我见过一些C#代码声明了一个带有internal修饰符和public构造函数的类:internalclassSomeClass{publicSomeClass(){}}如果整个类的可见性是内部的,因此它只能在定义的程序集中可见,那么拥有公共(public)构造函数有什么意义?此外,如果SomeClass是嵌套类,这是否有意义?

c# - 安全使用 'HttpContext.Current.Cache'

我在这样的Web服务方法中使用Cache:varpblDataList=(List)HttpContext.Current.Cache.Get("pblDataList");if(pblDataList==null){varPBLData=dc.ExecuteQuery(@"SELECTblabla");pblDataList=PBLData.ToList();HttpContext.Current.Cache.Add("pblDataList",pblDataList,null,DateTime.Now.Add(newTimeSpan(0,0,15)),Cache.NoSliding

c# - 如何在 C# 中执行线程安全函数内存?

此处堆栈溢出found内存单参数函数的代码:staticFuncMemoize(thisFuncf){vard=newDictionary();returna=>{Rr;if(!d.TryGetValue(a,outr)){r=f(a);d.Add(a,r);}returnr;};}虽然这段代码为我完成了它的工作,但当同时从多个线程调用内存函数时,它有时会失败:Add方法使用相同的参数被调用两次并抛出异常。如何使内存线程安全? 最佳答案 您可以使用ConcurrentDictionary.GetOrAdd它做你需要的一切:stati

c# - Autofac - 确保 Controller 有一个无参数的公共(public)构造函数

我知道之前有人问过这个问题并回答过-我问这个问题的原因是(我认为)我尝试了所有建议的解决方案来解决这个问题,但仍然无法解决。我有一个ASP.NETWebAPI2.0项目。我安装了Autofac、Autofac.Mvc5和Autofac.WebApi2依赖项。当我尝试调用APIController时,出现以下错误:Anerroroccurredwhentryingtocreateacontrolleroftype'MyController'.Makesurethatthecontrollerhasaparameterlesspublicconstructor.在我的Global.asax

c# - 属性(property)(没有额外处理)与公共(public)领域

这个问题在这里已经有了答案:Whatisthedifferencebetweenafieldandaproperty?(33个答案)关闭3年前。每当有关于属性可信度的问题时,我发现大部分讨论都是围绕函数/方法与属性展开的。但我也想知道令人信服的原因,即直接使用具有关联私有(private)字段的属性与公共(public)字段本身,以防最常见的获取/设置行为没有其他处理,我的意思是这样publicstringCustomerName;对比privatestringcustomerName;publicstringCustomerName{get{returncustomerName;}s

c# - 无法创建 SSL/TLS 安全通道 - 问题可能出在代理服务器上吗?

我有一个c#应用程序,它调用一个使用证书进行身份验证的Web服务方法。该代码有效,因为当它安装在服务器A(没有代理)上时,它会进行身份验证。当我在客户端站点的服务器B上安装代码时,它安装在代理后面。我真的几乎尝试了所有方法,但我一直收到此错误:无法创建SSL/TLS安全通道您认为此问题可能是由代理服务器引起的吗?如果您对此有任何个人经验,请分享。谢谢 最佳答案 根据我的经验,几乎所有此类消息都是由于链中的某些机器(客户端、代理、服务器)出于某种原因不“喜欢”证书。详细说明twk所说的内容,如果您使用的是自签名证书或您自己的CA,您需

c# - 授权整个安全组在 ASP.Net MVC 中执行操作

我想授权用户在我的Controller中执行特定操作。我找到了ASP.NETtutorial这解释了如何允许单个用户执行特定操作,但这可以扩展到安全组吗?例如,如果代码如下所示,属于“domain\group”安全组的每个人都可以访问GetSecrets操作吗:[Authorize(Users="domain\group")]publicActionResultGetSecrets(){returnView();}如果没有,我该怎么做? 最佳答案 您想使用Roles属性(property)。请注意,这可以是逗号分隔的角色列表。[Au

c# - NetNamedPipeBinding 安全吗?

我想知道netNamedPipeBinding是否被认为是安全的:一方面,NetNamedPipeBinding仅在传输层实现安全性,并且它使用Microsoft不再推荐的NTLM(source)(source)另一方面,NamedPipie无法从远程计算机访问,并且无法窃听用于传输数据或向其写入数据的特定开放管道实例,除非可以获取句柄有关的具体实例。这就是为什么我不知道如何考虑这个解决方案的安全性的原因。 最佳答案 您并没有真正提出正确的问题:不可能给出在所有情况下都有效的bool值答案。您应该始终从整体上评估解决方案的安全性,识

c# - 从 C# 程序读取 outlook 消息时如何避免 outlook 安全警报

我需要通过C#程序读取Outlook收件箱中新邮件的主题、发件人地址和邮件正文。但我收到安全警报“一个程序正在尝试访问您存储在Outlook中的电子邮件地址。你想允许这个吗?通过一些谷歌搜索,我发现很少有第三方COM库可以避免这种情况。但我正在寻找不需要任何第三方COM库的解决方案。 最佳答案 我在访问Outlook邮件项目的发件人电子邮件地址时遇到了同样的问题。为避免“安全警报”,不要创建新的应用程序对象,而是使用Globals.ThisAddIn.Application来创建新的邮件项。stringGetSenderEmail(

c# - 如何在 C# 中找到对象的所有公共(public)字段?

我正在构造一个方法来接收ArrayList(可能充满对象),然后列出ArrayList中每个对象的所有字段(及其值)。目前我的代码如下:publicstaticvoidListArrayListMembers(ArrayListlist){foreach(Objectobjinlist){Typetype=obj.GetType();stringfield=type.GetFields().ToString();Console.WriteLine(field);}}当然,我理解这段代码的直接问题:如果它有效,它只会为ArrayList中的每个对象打印一个字段。我稍后会解决这个问题-现在