Routing in ASP.NET Web API和配置文件的设定读取
Routing Tables
In ASP.NET Web API, a controller is a class that handles HTTP requests. The public methods of the controller are called action methods or simply actions. When the Web API framework receives a request, it routes the request to an action.
To determine which action to invoke, the framework uses a routing table. The Visual Studio project template for Web API creates a default route:
routes.MapHttpRoute( name: "API Default", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } );
/// <summary> /// 根据键值获取配置文件 /// </summary> /// <param name="key">键值</param> /// <param name="defaultValue">默认值</param> /// <returns></returns> public static string GetConfig(string key, string defaultValue) { string val = defaultValue; if (ConfigurationManager.AppSettings.AllKeys.Contains(key)) val = ConfigurationManager.AppSettings[key]; if (val == null) val = defaultValue; return val; } /// <summary> /// 写配置文件,如果节点不存在则自动创建 /// </summary> /// <param name="key">键值</param> /// <param name="value">值</param> /// <returns></returns> public static bool SetConfig(string key, string value) { try { Configuration conf = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); if (!conf.AppSettings.Settings.AllKeys.Contains(key)) conf.AppSettings.Settings.Add(key, value); else conf.AppSettings.Settings[key].Value = value; ; conf.Save(); return true; } catch(Exception e) { return false; } } /// <summary> /// 写配置文件(用键值创建),如果节点不存在则自动创建 /// </summary> /// <param name="dict">键值集合</param> /// <returns></returns> public static bool SetConfig(Dictionary<string, string> dict) { try { if (dict == null || dict.Count == 0) return false; Configuration conf = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); foreach (string key in dict.Keys) { if (!conf.AppSettings.Settings.AllKeys.Contains(key)) conf.AppSettings.Settings.Add(key, dict[key]); else conf.AppSettings.Settings[key].Value = dict[key]; } conf.Save(); return true; } catch { return false; } } }