internal static unsafe ConfigurationPackage CreateFromNative(NativeRuntime.IFabricConfigurationPackage nativePackage) { ReleaseAssert.AssertIfNull(nativePackage, "nativePackage"); string path = NativeTypes.FromNativeString(nativePackage.get_Path()); var settings = ConfigurationSettings.CreateFromNative(nativePackage.get_Settings()); var nativeDescription = *((NativeTypes.FABRIC_CONFIGURATION_PACKAGE_DESCRIPTION *)nativePackage.get_Description()); var description = ConfigurationPackageDescription.CreateFromNative(nativeDescription, path, settings); var returnValue = new ConfigurationPackage() { Description = description, Path = path, Settings = settings }; GC.KeepAlive(nativePackage); return(returnValue); }
#pragma warning disable 618 // service needs to run on V2.1 cluster, so use obsolete API // CodePackageActivationContext.GetConfigurationPackage internal static T GetConfigValue <T>(string sectionName, string parameterName, T defaultValue) { T value = defaultValue; ConfigurationPackageDescription configPackageDesc = codePkgActivationCtx.GetConfigurationPackage(ConfigPackageName); if (null != configPackageDesc) { ConfigurationSettings configSettings = configPackageDesc.Settings; if (null != configSettings && null != configSettings.Sections && configSettings.Sections.Contains(sectionName)) { ConfigurationSection section = configSettings.Sections[sectionName]; if (null != section.Parameters && section.Parameters.Contains(parameterName)) { ConfigurationProperty property = section.Parameters[parameterName]; try { value = (T)Convert.ChangeType(property.Value, typeof(T), CultureInfo.InvariantCulture); } catch (Exception e) { serviceTrace.Error( "ConfigReader.GetConfigValue: Exception occurred while reading configuration from section {0}, parameter {1}. Exception: {2}", sectionName, parameterName, e); } } } } return(value); }