您的位置:首页 > 编程语言 > ASP

Routing in ASP.NET Web API和配置文件的设定读取

2013-08-05 10:19 316 查看

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 }
);


Self-Host a Web API (C#)

/// <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; }
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: