草庐IT

C++异常安全

全部标签

c# - .NET Framework 4.x 中的插件系统安全性(无 CAS)

我想实现的是一个具有以下功能的插件系统:从我(开发人员)可能不信任但安装插件的最终用户信任的来源加载外部插件在特定范围内授予每个插件权限;例如一个插件可能有权从特定位置读取文件,而其他插件可能被允许连接到特定网站位置每个插件权限的特例:与另一个对象交互,很可能作为接口(interface)实例提供,而不访问其任何非公共(public)成员(甚至不使用偷偷摸摸的反射技术)在插件代码造成任何危害之前阻止最终用户不同意的操作,例如访问非公共(public)成员或在文件系统上操作在我的搜索过程中,我发现大多数涉及代码访问安全的SO解决方案,据我所知,这些解决方案在.NET4.x中已经过时。我还

c# - System.Net.WebClient 异常失败

我正在尝试从我们的TFS服务器上的报告服务实例下载一些数据。鉴于代码应该在未加入域的计算机上运行,​​我想我会自己设置凭据。不走运,返回HTTP401Unauthorized。好的,所以我连接了Fiddler以查看发生了什么。但那是我得到Heisenberged的时候-通话现在顺利进行。因此,身份验证在连接Fiddler的情况下通过,但在没有它的情况下失败。是网络客户端坏了还是我在这里遗漏了什么深刻的东西?privatevoidThisWorksWhenDomainJoined(){WebClientwc=newWebClient();wc.Credentials=Credential

c# - XmlSerializer 在序列化动态加载的类型时抛出异常

我正在尝试使用System.Xml.Serialization.XmlSerializer来序列化动态加载(和编译的类)。如果我将有问题的类构建到主程序集中,一切都会按预期进行。但是,如果我从动态加载的程序集中编译和加载该类,XmlSerializer会引发异常。我做错了什么?我创建了以下.NET3.5C#应用程序来重现该问题:usingSystem;usingSystem.Collections.Generic;usingSystem.Xml.Serialization;usingSystem.Text;usingSystem.Reflection;usingSystem.CodeD

c# - get_SynonymInfo 某些词抛出内存不足异常

我有一个简单的测试程序,它使用MicrosoftWordInterop从同义词词典中获取词义:usingSystem;usingWord=Microsoft.Office.Interop.Word;classProgram{staticvoidMain(string[]args){stringword="elite";//="common";varapp=newWord.Application();varsynInfo=app.SynonymInfo[word,Word.WdLanguageID.wdEnglishUS];if(synInfo.Found&&synInfo.Meanin

c# - 如何拦截 Azure WebJob 失败/异常

目前在Azure中,当WebJob抛出异常时,异常会被JobHost捕获并处理(以某种方式),然后将异常记录到可通过Web应用程序的Blade访问的仪表板webjob是托管的。有什么方法可以拦截错误处理或覆盖它以便我可以插入我的ApplicationInsights实例吗? 最佳答案 您可以使用AzureWebJobsSDKExtensions:有一个ErrorTrigger可以用来拦截未处理的异常:publicclassUnhandledErrorTrigger:IDisposable{privatereadonlyTelemet

c# - 带有未捕获异常的 Task.Factory.StartNew 会杀死 w3wp?

我刚刚将我网站的一些代码从使用QueueUserWorkItem转换为Task.Factory.StartNew我有一些错误的代码引发了异常并最终关闭了w3wp。在WindowsServer2008R2、x64上运行IIS7.5Task.Factory.StartNew(()=>{MethodThatThrowsException();}Application:w3wp.exeFrameworkVersion:v4.0.30319Description:Theprocesswasterminatedduetoanunhandledexception.ExceptionInfo:Syst

c# - 如何从嵌套的 try-catch block 中重新抛出先前的异常? (C#)

我有尝试进行类型转换的代码。如果失败,我想尝试其他方法,如果同样失败,则重新抛出第一次转换尝试的原始异常。问题是我知道重新抛出的唯一方法是将“throw;”放在catchblock的末尾。当我只希望从另一个catchblock中重新抛出时会发生什么?try{valueFromData=Convert.ChangeType(valueFromData,pi.PropertyType);}catch(InvalidCastExceptione){Debug.WriteLine(String.Concat("Info-Directconversionfailed.Attemptingtoco

c# - "Could not load file or assembly ' System.Core, Version=2.0.5.0,...”动态加载可移植类库时出现异常

首先,我需要强调的是,这个问题与thisthread中的问题略有不同。.此外,安装KB2468871没有帮助。我尽量简化了这个问题。一般来说,它是关于使用Assembly.LoadFile(...)在桌面应用程序中加载PCL程序集。假设有一个.NET4.0控制台应用程序(称为“C”)。它引用.NET4.0程序集(称为“N4”)和PCL程序集(称为“PCL”)。N4看起来像这样:usingSystem.Linq;namespaceN4{publicclassClassInN4{publicstaticstringGreet(){returnnewstring("hellofromN4".

c# - 使用 MVC 4 的自定义页面访问安全性

我有一个系统,其中所有页面(View)和所有控件(按钮、链接、菜单项...)都应用了安全角色。所以我有一个管理界面,其中注册了所有页面和控件。每个用户都有一组单独的权限。所以,例如:我有一个ViewEditCar,有3个按钮:“新建”、“删除”和“返回”。因此用户X有权查看EditCar,并且只有“返回”按钮所以每个新View都必须注册,并与用户关联。没有角色,因为每个用户都是100%可配置的。所以,我有一个FilterAttribute:publicclassCustomAuthorize:FilterAttribute,IAuthorizationFilter{publicvoid

c# - 在线程之间共享局部变量是否安全(通过回调闭包)?

我想做类似下面的事情-基本上我正在调用一个异步操作,它将在另一个线程中调用回调,我想等待它完成“内联”。我担心的是,由于例如存储在寄存器中,跨线程共享的更改变量(栏和事件)可能不会同步。如果它们是成员变量,我可以将它们标记为volatile,但volatile不能用于在堆栈上创建的局部变量。我可以使用成员变量,但我认为它更干净,不会因为将其全部保留在本地而使我的类困惑。Barbar=null;ManualResetEventevent=newManualResetEvent(false);foo.AsyncOperation(newAction(()=>{//Thisdelegatew