public ScarfDataSource CreateDataSourceInstance() { ScarfSection configuration = ScarfConfiguration.ConfigurationSection; if (configuration.DataSource == null) { return(new MemoryDataSource()); } try { DataSourceElement dataAccessConfiguration = configuration.DataSource; if (string.IsNullOrWhiteSpace(dataAccessConfiguration.Type)) { return(new MemoryDataSource()); } Type dataSourceType = Type.GetType(dataAccessConfiguration.Type); if (dataSourceType == null) { return(new MemoryDataSource()); } var dataSource = (ScarfDataSource)Activator.CreateInstance(dataSourceType); dataSource.Initialize(dataAccessConfiguration); return(dataSource); } catch { return(new MemoryDataSource()); } }
static void Main(string[] args) { ScarfSection scarfSection = ConfigurationManager.GetSection("scarf") as ScarfSection; try { MyAssert(scarfSection != null); MyAssert(scarfSection.DataSource != null); MyAssert(scarfSection.DataSource.ConnectionStringName != null); MyAssert(scarfSection.DataSource.ConnectionStringName == "myConnection"); MyAssert(scarfSection.DataSource.Type != null); MyAssert(scarfSection.DataSource.Type == "log3a.DataSource.SQLServer.SQLServerDataAccess, log3a.SQLServer"); Console.WriteLine("OK!"); } catch { Console.WriteLine("NOT OK!!"); } }
private string FindApplication() { ScarfSection configuration = ScarfConfiguration.ConfigurationSection; if (string.IsNullOrWhiteSpace(configuration.ApplicationName) == false) { return(configuration.ApplicationName); } string appName = null; if (_httpContext.Request != null) { appName = _httpContext.Request.ServerVariables["APPL_MD_PATH"]; } if (string.IsNullOrEmpty(appName)) { appName = HttpRuntime.AppDomainAppVirtualPath; } return(string.IsNullOrEmpty(appName) ? "/" : appName); }