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

    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; }
            }
        }
  • 相关阅读:
    法语助手2010破解
    一个很简单的例子,从汇编层次理解函数调用
    ubuntu11.10配置IPV6
    linux创建 / 删除用户及用户管理
    设置gdb反汇编语法为intel
    ubuntu server 10.04 LTS(64位)装不了花生壳的解决方法
    实现windows和linux互传文件
    在ubuntu11.10中安装chrome浏览器
    poj 1755 Triathlon 半平面交判断不等式是否有解
    poj 1474 Video Surveillance 半平面交
  • 原文地址:https://www.cnblogs.com/super86/p/3237646.html
Copyright © 2020-2023  润新知