.net知识点

dll版本冲突问题

<!--dll版本向下兼容-->
    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
                <bindingRedirect oldVersion="1.0.0.0-8.0.0.0" newVersion="4.5.0.0" />
            </dependentAssembly>
        </assemblyBinding>
    </runtime>

动态引用外部dll

public static Assembly ass = null;//全局用于动态加载dll
        /// <summary>
        /// 初始化log4jnet配置
        /// </summary>
        /// <param name="configurl"></param>
        public static void InitConfig(string configurl)
        {
            try
            {
                //动态加载log4net的dll,并保存对象
                ass = Assembly.Load("log4net");  //加载dll文件
                Type tp = ass.GetType("log4net.Config.XmlConfigurator");//获取类名,必须命名空间+类名
                FileInfo logCfg = new FileInfo(configurl);
                tp.InvokeMember("ConfigureAndWatch", BindingFlags.InvokeMethod | BindingFlags.Public | BindingFlags.Static,
                                  null, null, new object[] { logCfg });


            }
            catch { }
        }

        /// <summary>
        /// 记载http请求的相关参数
        /// </summary>
        /// <param name="url"></param>
        /// <param name="param"></param>
        /// <param name="response"></param>
        public static void RecordHttpRequest(string url, string param, string response)
        {
            try
            {
                if (ass != null)
                {

                    Type tp = ass.GetType("log4net.LogManager");//获取类名,必须命名空间+类名
                    object logger = tp.InvokeMember("GetLogger", BindingFlags.InvokeMethod | BindingFlags.Public | BindingFlags.Static,
                                 null, null, new object[] { typeof(CommonUtils) });//获取log4net的对象

                    StringBuilder sb = new StringBuilder();
                    sb.Append(Environment.NewLine);
                    sb.Append("【请求的网址】:" + url + Environment.NewLine);
                    sb.Append("【请求的参数】:" + param + Environment.NewLine);
                    sb.Append("【请求的结果】:" + response + Environment.NewLine);

                    Type tpc = ass.GetType("log4net.ILog");
                    MethodInfo methc = tpc.GetMethod("Debug", new Type[] { typeof(object) });//获取方法名
                    methc.Invoke(logger, new object[] { sb.ToString() });
                }
            }
            catch { }
        }

HttpWebRequest加载证书建立SSL通道时发生异常的解决办法

<system.net>
   <settings>
      <servicePointManager
         checkCertificateName="true"
      />
   </settings>
</system.net>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值