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; }
            }
        }
  • 相关阅读:
    由一次自建库迁移到阿里云RDS引发的性能问题。
    pycharm2017自建注册服务器
    linux 邮件工具利器sendEmail时效超好
    python利用smtplib和MIMETYPE发送邮件
    如何去除本地文件与svn服务器的关联
    【转】nginx提示:500 Internal Server Error错误的解决方法
    Eclipse SVN插件安装
    Weblogic用户名密码获取
    Io 异常: The Network Adapter could not establish the connection
    Oracle修改字段名、字段数据类型
  • 原文地址:https://www.cnblogs.com/super86/p/3237646.html
Copyright © 2011-2022 走看看