摘要:
Ribbon的重试配置 Ribbon的重试机制是基于Spring Retry,需要引用相关包: 在添加了包引用后,重试机制自动生效,相关配置如下: 参数详细解: retryableStatusCodes 默认情况下,Ribbon不会针对HTTP非正常响应状态值(如404、502等)进行重试。如果您需 阅读全文
摘要:
本文以Spring Cloud Finchley.RELEASE版本为例。 RestTemplate超时时间 RestTemplate可以通过RestTemplateBuilderl来设置超时时间: Ribbon超时时间 详情见默认配置列表。 Feign超时时间 文档中没有详细介绍,但部分示例代码中 阅读全文
摘要:
Assembly.Load //加载程序集,会从GAC、应用程序基目录、私有路径子目录查找 Assembly.LoadFrom //从路径加载,首先会得到程序集,然后内部调用Assembly.Load Assembly.LoadFile //可多次加载一个程序集到AppDomain中,此时CLR不会自动解析任何依... 阅读全文
摘要:
效果 前台页面代码(MyPager.ascx): 后台页面代码(MyPager.ascx.cs):public partial class MyPager : System.Web.UI.UserControl { private int pageSize; //默认每页多少条记录 private int totalCount = 0; /... 阅读全文
摘要:
使用SET IDENTITY_INSERT 即可SET IDENTITY_INSERT tableName ON --停用自增列--sql语句...SET IDENTITY_INSERT tableName OFF --恢复自增列参考这里 阅读全文
摘要:
由于C#源代码经过编译器编译生成的是IL代码,而IL是与CPU无关的机器语言。因此当程序运行于特定的CPU时,首先必须将IL转换成本地CPU指令,这正是JIT(Just-In-Time)编译器的任务、职责。当程序中某个具体的方法首次被调用的时候,JIT主要会执行以下步骤:找到该方法的IL将IL编译成优化过的本地CPU指令并保存到一个动态分配的内存中执行生成的本地指令并返回由于第一次调用会经过编译和优化等步骤,所以会有一定的性能损失。但是以后对该方法的调用会以本地代码的形式全速运行。如果您认为这些性能损失不容忽视,可以使用NGen.exe工具来将应用程序的IL代码编译成本地代码。然后,每当CLR 阅读全文
摘要:
js类似于这样:function send() { var xhr = new XMLHttpRequest(); xhr.open("post", "AjaxTest.aspx", true); //xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.onreadystatechange = function() { if (xhr.readyState===4) { ... 阅读全文
摘要:
1. 为什么会有自动垃圾回收(garbage collection)?非托管编程时,内存管理是一件很头疼的事情。首先,如果程序员忘记释放不再需要的内存,或者试图使用已被释放的内存,会造成无法预测的后果;其次,正确进行资源管理通常很难而且很枯燥,它会极大分散开发人员的注意力,使之无法专注于真正要解决的问题。2. 垃圾回收简介垃圾回收使开发人员得到了解放,程序员不必再考虑内存管理,这一切交给垃圾回收器完成。每次使用new运算符(对应的是 IL的newobj指令)创建对象时,运行库都从托管堆为该对象分配内存。只要托管堆中有地址空间可用,运行库就会继续为对象分配空间。但是,内存不是无限大的。最终,垃圾 阅读全文
摘要:
第一次是从这里听说这个插件的,亲自尝试了一下,代码高亮果然显示完全和Visual Studio相同,所以后来一直用的它(可以从这里下载),但是它有个小缺点:粘贴的时候同时也会生成和vs相同的背景颜色(background),由于我的vs使用的是深色主题,背景颜色是黑色,但是博客背景颜色是白色,所以代码最终会显示成类似这个样子:foreach (String s in exceptionTree){ String[] x = s.Split('-'); Console.WriteLine(new String(' ', 3 * (x.Length - 1)) + 阅读全文
摘要:
以前,每个应用程序都在自己的进程地址空间中运行,由于进程之间是无法直接调用的,这可以保证应用程序的相互隔离,可以防止安全漏洞、数据破坏和其他不可预测的行为,确保应用程序的健壮性。但是在windows中创建进程的开销很大(Win32的CreateProcess函数的速度很慢,而且windows系统需要大量内存来虚拟化一个进程的地址空间),并且如果要在进程间相互通信是十分麻烦的。所以,如果将这些应用程序放在一个进程中,但是像进程那样是相互隔离的,互不影响,单独卸载,那么应该可以弥补进程的部分不足。在托管程序中,应用程序域(AppDomain)可以做到这些。应用程序域提供了一个更安全、用途更广的处理 阅读全文