Esempio n. 1
0
        static TypeFactory()
        {
            BLToolkitSection section = BLToolkitSection.Instance;

            if (section != null)
            {
                TypeFactoryElement elm = section.TypeFactory;

                if (elm != null)
                {
                    SaveTypes = elm.SaveTypes;
                    SealTypes = elm.SealTypes;
                    LoadTypes = elm.LoadTypes;

                    SetGlobalAssembly(elm.AssemblyPath, elm.Version, elm.KeyFile);
                }
            }

            SecurityPermission perm = new SecurityPermission(SecurityPermissionFlag.ControlAppDomain);

#if FW4
            try
            {
                //var permissionSet = new PermissionSet(PermissionState.None);
                //permissionSet.AddPermission(perm);

                //if (permissionSet.IsSubsetOf(AppDomain.CurrentDomain.PermissionSet))
                SubscribeAssemblyResolver();
            }
            catch
            {
            }
#else
            if (SecurityManager.IsGranted(perm))
            {
                SubscribeAssemblyResolver();
            }
#endif
        }
Esempio n. 2
0
        static DbManager()
        {
            AddDataProvider(new Sql2008DataProvider());
            AddDataProvider(new SqlDataProvider());
            AddDataProvider(new AccessDataProvider());
            AddDataProvider(new OleDbDataProvider());
            AddDataProvider(new OdbcDataProvider());

            BLToolkitSection section = BLToolkitSection.Instance;

            if (section != null)
            {
                _defaultConfiguration = section.DefaultConfiguration;

                foreach (DataProviderElement provider in section.DataProviders)
                {
                    Type             dataProviderType = Type.GetType(provider.TypeName, true);
                    DataProviderBase providerInstance = (DataProviderBase)Activator.CreateInstance(dataProviderType);

                    if (!string.IsNullOrEmpty(provider.Name))
                    {
                        providerInstance.UniqueName = provider.Name;
                    }

                    providerInstance.Configure(provider.Attributes);

                    AddDataProvider(providerInstance);

                    if (!provider.Default)
                    {
                        continue;
                    }

                    if (_defaultDataProviderName != null)
                    {
                        throw new ConfigurationErrorsException(string.Format(
                                                                   Resources.DbManager_MoreThenOneDefaultProvider, _defaultDataProviderName, providerInstance.UniqueName),
                                                               provider.ElementInformation.Source, provider.ElementInformation.LineNumber);
                    }

                    _defaultDataProviderName = providerInstance.UniqueName;
                }
            }

            string dataProviders = ConfigurationManager.AppSettings.Get("BLToolkit.DataProviders");

            if (dataProviders != null)
            {
                Debug.WriteLineIf(TraceSwitch.TraceWarning, "Using appSettings\\BLToolkit.DataProviders is obsolete. Consider using bltoolkit configuration section instead.", TraceSwitch.DisplayName);
                foreach (string dataProviderTypeName in dataProviders.Split(';'))
                {
                    AddDataProvider(Type.GetType(dataProviderTypeName, true));
                }
            }

            if (string.IsNullOrEmpty(_defaultConfiguration))
            {
                _defaultConfiguration = ConfigurationManager.AppSettings.Get("BLToolkit.DefaultConfiguration");
            }

            if (string.IsNullOrEmpty(_defaultDataProviderName))
            {
                _defaultDataProviderName = SqlDataProviderBase.NameString;
            }
        }