示例#1
0
		public IServerConfig Create(IConfig configSection) {
			var server = new ServerConfig();
			if(configSection == null) {
				throw new ArgumentNullException("configSection");
			}

			SetUrl(configSection, server);
			SetUsername(configSection, server);
			SetPassword(configSection, server);
			SetAllowWildcardSearch(configSection, server);
			SetTimeLimit(configSection, server); 
			SetPageSize(configSection, server);
			SetSizeLimit(configSection, server);
			SetRangeRetrievalSupport(configSection, server);
			SetPropertySortingSupport(configSection, server);
			SetVirtualListViewSupport(configSection, server);
			SetAuthenticationTypes(configSection, server);
			
			return server;
		}
示例#2
0
		private static void SetRangeRetrievalSupport(IConfig configSection, ServerConfig server) {
			if(configSection.ContainsKey("rangeRetrievalSupport")) {
				server.RangeRetrievalSupport = configSection.GetValue<bool>("rangeRetrievalSupport");
			}
		}
示例#3
0
		private static void SetSizeLimit(IConfig configSection, ServerConfig server) {
			if(configSection.ContainsKey("sizeLimit")) {
				var sizeLimit = configSection.GetValue<int>("sizeLimit");
				server.SizeLimit = sizeLimit;
			}
		}
示例#4
0
		private static void SetPageSize(IConfig configSection, ServerConfig server) {
			if(configSection.ContainsKey("pageSize")) {
				var pageSize = configSection.GetValue<int>("pageSize");
				server.PageSize = pageSize;
			}
		}
示例#5
0
		private static void SetTimeLimit(IConfig configSection, ServerConfig server) {
			if(configSection.ContainsKey("timeLimit")) {
				var timeLimit = configSection.GetValue<int>("timeLimit");
				server.TimeLimit = TimeSpan.FromSeconds(timeLimit);
			}
		}
示例#6
0
		private static void SetAllowWildcardSearch(IConfig configSection, ServerConfig server) {
			if(configSection.ContainsKey("allowWildcardSearch")) {
				server.AllowWildcardSearch = configSection.GetValue<bool>("allowWildcardSearch");
			}
		}
示例#7
0
		private static void SetPassword(IConfig configSection, ServerConfig server) {
			if(configSection.ContainsKey("password")) {
				server.Password = configSection.GetValue("password");
			}
		}
示例#8
0
		private static void SetUsername(IConfig configSection, ServerConfig server) {
			if(configSection.ContainsKey("username")) {
				server.Username = configSection.GetValue("username");
			}
		}
示例#9
0
		private static void SetUrl(IConfig configSection, ServerConfig server) {
			server.Url = new Uri(configSection.GetValue("url"));
		}
示例#10
0
		private static void SetAuthenticationTypes(IConfig configSection, ServerConfig server) {
			if(configSection.ContainsKey("authenticationTypes")) {
				var authenticationTypes = configSection.GetValueArray("authenticationTypes", "authenticationType");
				foreach(var authenticationType in authenticationTypes) {
					server.AuthenticationTypes |=
						(AuthenticationTypes)Enum.Parse(typeof(AuthenticationTypes), authenticationType, true);
				}
			}
		}
示例#11
0
		private static void SetVirtualListViewSupport(IConfig configSection, ServerConfig server) {
			if(configSection.ContainsKey("virtualListViewSupport")) {
				server.VirtualListViewSupport = configSection.GetValue<bool>("virtualListViewSupport");
			}
		}
示例#12
0
		private static void SetPropertySortingSupport(IConfig configSection, ServerConfig server) {
			if(configSection.ContainsKey("propertySortingSupport")) {
				server.PropertySortingSupport = configSection.GetValue<bool>("propertySortingSupport");
			}
		}