System.Security.SecurityException The type initializer for 'System.Data.Entity.Internal.AppConfig' threw an exception
2015-08-20 09:50
330 查看
[15/08/19 00:03:10] [DataManager-7292-ERROR] System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeInitializationException: The type initializer for 'System.Data.Entity.Internal.AppConfig' threw an exception. ---> System.Configuration.ConfigurationErrorsException: An error occurred creating the configuration section handler for entityFramework: Request failed. (D:\LST\LenovoSmartToolSrv.exe.Config line 8) ---> System.Security.SecurityException: Request failed. at System.RuntimeMethodHandle.PerformSecurityCheck(Object obj, RuntimeMethodHandleInternal method, RuntimeType parent, UInt32 invocationFlags) at System.RuntimeMethodHandle.PerformSecurityCheck(Object obj, IRuntimeMethodInfo method, RuntimeType parent, UInt32 invocationFlags) at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.Reflection.ConstructorInfo.Invoke(Object[] parameters) at System.Configuration.TypeUtil.InvokeCtorWithReflectionPermission(ConstructorInfo ctor) at System.Configuration.RuntimeConfigurationRecord.RuntimeConfigurationFactory.CreateSectionImpl(RuntimeConfigurationRecord configRecord, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentConfig, ConfigXmlReader reader) at System.Configuration.RuntimeConfigurationRecord.RuntimeConfigurationFactory.CreateSectionWithRestrictedPermissions(RuntimeConfigurationRecord configRecord, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentConfig, ConfigXmlReader reader) at System.Configuration.RuntimeConfigurationRecord.CreateSection(Boolean inputIsTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentConfig, ConfigXmlReader reader) at System.Configuration.BaseConfigurationRecord.CallCreateSection(Boolean inputIsTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentConfig, ConfigXmlReader reader, String filename, Int32 line) --- End of inner exception stack trace --- at System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult) at System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject) at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject) at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject) at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject) at System.Configuration.BaseConfigurationRecord.GetSection(String configKey) at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(String sectionName) at System.Configuration.ConfigurationManager.GetSection(String sectionName) at System.Data.Entity.Internal.AppConfig..ctor() at System.Data.Entity.Internal.AppConfig..cctor() --- End of inner exception stack trace --- at System.Data.Entity.Internal.AppConfig.get_DefaultInstance() at System.Data.Entity.Internal.LazyInternalConnection..ctor(DbContext context, String nameOrConnectionString) at System.Data.Entity.DbContext..ctor(String nameOrConnectionString) at DataAccessor.FireBirdDataManger.<>c__DisplayClass76.<DeleteTechnicalAndNotice>b__73() --- End of inner exception stack trace --- Server stack trace: at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache) at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache) at System.Activator.CreateInstance(Type type, Boolean nonPublic) at System.Data.Entity.Utilities.TypeExtensions.CreateInstance[T](Type type, Func`2 exceptionFactory) at System.Data.Entity.Utilities.TypeExtensions.CreateInstance[T](Type type, Func`3 typeMessageFactory, Func`2 exceptionFactory) at System.Data.Entity.Infrastructure.DependencyResolution.DbConfigurationManager.<.ctor>b__1() at System.Lazy`1.CreateValue() Exception rethrown at [0]: at System.Lazy`1.get_Value() at System.Data.Entity.Infrastructure.DependencyResolution.DbConfigurationManager.GetConfiguration() at System.Data.Entity.Core.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString) at System.Data.Entity.Core.EntityClient.EntityConnection..ctor(String connectionString) at System.Data.Entity.Core.Objects.ObjectContext.CreateEntityConnection(String connectionString) at DataAccessor.FirebirdDataAccessorEntities..ctor() at DataAccessor.FireBirdDataManger.<>c__DisplayClass28`1.<Select>b__27()
今天遇到了一个bug,通过现场复现,出现此bug的根源是测试手动更换了配置文件,而配置文件是通过skyp传输的,也就是通过网络获取的(通过网络获取是关键),此时配置文件Security为"Block"状态,正常情况下,是直接安装不会出现此情况,如图
![](http://images0.cnblogs.com/blog2015/389515/201508/200949438942689.png)
当Frameworks读取app.config时,security check失败
手动“Unblock”,客户端一切运行正常
当发现此bug时,我们通过其他多台不同操作系统电脑多次尝试复现,均无法复现,而在出现此bug电脑,100%复现,所以我们一致认为这个和操作系统当前设置的安全级别有关,至于是不是这个原因,我们没继续去验证,因为我们已经认为它不是一个bug了
相关文章推荐
- 移动端字体和字体大小规范
- 短信黑名单app接收短信优先级权限设置
- 根据Uri获取图片绝对路径,解决Android4.4以上版本Uri转换
- IOS TabBar小知识(不断更新中。。。)
- Button的点击倒计时
- Objective-C 学习笔记(Day 3,上)
- Objective-C 学习笔记(Day 3,上)
- Android 它们的定义View它BounceProgressBar
- android 真机调试如何得到raw文件的路劲
- IOS 开发学习(1): 学习纲领以及Objective-C 基本语法学习
- Android ORM系列之ActiveAndroid
- Android动画详解 ,非常详细,从360图书馆复制的!让你登录才能复制~
- ios学习之旅------玩转结构体
- Android:Logcat日志猫
- Android系统中的.apk文件和.dex文件
- 窥探Swift之新添数据类型元组与可选值
- iOS项目开发实战——设置视图的透明度改变动画
- Android开发相关下载汇总
- 何时使用Swift Structs和Classes
- iOS优化内存的横向ScrollView