zoukankan      html  css  js  c++  java
  • 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; }
            }
        }
  • 相关阅读:
    【C++】小心使用文件读写模式:回车(' ') 换行(' ')问题的一次纠结经历
    小记同学一次奇葩的DNS欺骗实验失败经历
    IE的BHO通过IHTMLDocument2接口获得网页源代码
    HTML5离线缓存攻击测试(二)
    HTML5离线缓存攻击测试
    PHP防止SQL注入的方法
    Linux系统环境变量的四个配置文件的关系
    CentOS 7 上搭建LNMP环境
    [Linux][Nginx][02]Config
    [Linux][Nginx][01]Install
  • 原文地址:https://www.cnblogs.com/super86/p/3237646.html
Copyright © 2011-2022 走看看