第一个疑惑的问题是关于IIS服务器的会话的,一台服务器的IIS 6.0昨天访问,发现会话在20秒左右就会丢失,而这个程序没有修改,也没有修改什么配置,检查一天无果。
最后发现服务器时间是2005年1月1日,少了近30天,修改后一切正常,
有哪位高人解释一下原理。
今天写程序,写到这里
if ( serviceProviders.Contains(serviceProvider) )
serviceProviders.Remove(serviceProvider);
感觉有些浪费,俩次查找定位,这让我突然有兴趣看看范型实现的内部代码(我的这个集合使用的List<>)
private List<IServiceProvider> serviceProviders = new List<IServiceProvider>();
使用Reflector反编译工具查看其实现
public bool Contains(T item)
{
if (item == null)
{
for (int num1 = 0; num1 < this._size; num1++)
{
if (this._items[num1] == null)
{
return true;
}
}
return false;
}
IComparer<T> comparer1 = Comparer<T>.Default;
for (int num2 = 0; num2 < this._size; num2++)
{
if (comparer1.Equals(item, this._items[num2]))
{
return true;
}
}
return false;
}
我倒
这个效率 …… 怎么说你也用个 Hash冒个泡吧。
后来,看了一下IndexOf,是调用数组的,但一看数组,也是一样的实现。
经过非常“深刻”的思考,哦,是自己使用不当,如果想通过 key 查找,用 System.Collections.Generic.Dictionary<K,V>最好,看看实现吧
最后发现服务器时间是2005年1月1日,少了近30天,修改后一切正常,

今天写程序,写到这里




使用Reflector反编译工具查看其实现

























我倒

后来,看了一下IndexOf,是调用数组的,但一看数组,也是一样的实现。
经过非常“深刻”的思考,哦,是自己使用不当,如果想通过 key 查找,用 System.Collections.Generic.Dictionary<K,V>最好,看看实现吧
private int FindEntry(K key) { if (key == null) { ThrowHelper.ThrowArgumentNullException(ExceptionArgument.key); } if (this.buckets != null) { int num1 = this.comparer.GetHashCode(key) & 0x7fffffff; for (int num2 = this.buckets[num1 % this.buckets.Length]; num2 >= 0; num2 = this.entries[num2].next) { if ((this.entries[num2].hashCode == num1) && this.comparer.Equals(key, this.entries[num2].key)) { return num2; } } } return -1; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构