小编jqu*_*uth的帖子

最后Block没有运行?

好吧,这是一个奇怪的问题,我希望有人可以解释一下.我有以下代码:

static void Main(string[] args)
{
    try
    {
        Console.WriteLine("in try");
        throw new EncoderFallbackException();
    }
    catch (Exception)
    {
        Console.WriteLine("in Catch");
        throw new AbandonedMutexException();
    }
    finally
    {
        Console.WriteLine("in Finally");
        Console.ReadLine();
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,当我将其编译为目标3.5(2.0 CLR)时,它将弹出一个窗口,说"XXX已停止工作".如果我现在单击取消按钮它将运行finally,如果我等到它完成查找并单击关闭程序按钮它也将运行finally.

现在有趣和令人困惑的是,如果我针对4.0编译同样的事情点击取消按钮将运行finally块并单击关闭程序按钮不会.

我的问题是:为什么在点击关闭程序按钮时,终于在2.0上运行而不在4.0上运行?这有什么影响?

编辑:我在Windows 7 32位的发布模式(内置发布模式)中从命令提示符运行此命令.错误消息:在Windows查找问题后,下面的第一个结果是3.5点击关闭,第二个是我在4.0上运行它并执行相同的操作.

替代文字

c# exception-handling c#-4.0

18
推荐指数
4
解决办法
2958
查看次数

SSL和负载平衡

SSL对负载均衡的工作方式有何影响?我知道如果您选择不在DB或Out of Process中存储会话信息,则需要使用粘性会话,但这会如何影响SSL?

ssl load-balancing

17
推荐指数
1
解决办法
3万
查看次数

泛型警告T与其他类型的类型同名

鉴于以下内容

public class Service<T> : IService<T>
{
        Repository<T> _repository = new Repository<T>();
        public T Get<T>(int id)
        {
            return _repository.Get<T>(id);
        }
}
public interface IService<T>
{
        T Get<T>(int id);
}
Run Code Online (Sandbox Code Playgroud)

我收到以下警告

类型参数"T"与外部类型"Services.IService"中的类型参数同名

我不确定这个问题是什么,为什么我关心我的返回类型是否与我告诉类的类型相同.我在这里错过了什么吗?

c# generics

16
推荐指数
2
解决办法
5397
查看次数

MOQ可以模拟一个类

如果MOQ没有继承像这样的接口的类是合法的:

var mockIActionService = new Mock<IActionService>();
var mockValidAgeRule = new Mock<ValidAgeRule>(mockIActionService.Object);
Run Code Online (Sandbox Code Playgroud)

我将IService注入ValidAgeRule,这只是一个简单的类,有一个名为"Excute"的方法.我的问题是如何验证已被调用.每当我尝试:

 mockValidAgeRule.Verify(x => x.Execute(app)); //Where App is a valid object
Run Code Online (Sandbox Code Playgroud)

有谁知道如何做到这一点?

moq

13
推荐指数
1
解决办法
8285
查看次数

使用LinQ to SQL DBML文件生成数据库

我刚刚继承了一个带有LinQ to SQL Database文件的项目.我需要大约100个数据库表中的一半,所以我想基于DBML文件生成数据库并删除我不需要的东西.

有没有办法做到这一点?

linq-to-sql

11
推荐指数
1
解决办法
8676
查看次数

多次调用同一Web服务阻止?

我们有一个页面向第三方网络服务发出请求.当负载很重时,响应时间会显着延长,但是第三方报告说处理时间保持不变.有时间表明,从他们收到请求到他们发送回来的时间总是大约1.5-2.0秒.现在我们正在经历超过20秒的等待时间.我对ASP.NET的理解是,每个请求都将在IIS线程池线程上运行,并向第3方服务返回并处理请求.所以我真的不明白我们可能阻止什么.有什么我想念的吗?IIS之外是否存在阻止的阈值限制?

如果我遗漏了一些内容,那么涵盖这个主题的实体书推荐也将是一个非常受欢迎的补充.

c# asp.net asp.net-3.5

10
推荐指数
1
解决办法
6314
查看次数

运行时对象的大小

如何在运行时获取对象或数据结构的大小(以字节为单位),我知道有这样的探查器工具,我只对在运行时执行此操作感兴趣.

数据结构是 List<object>

我试图找出整个集合占用多少空间以及单个物体占用多少空间,而不是理论上应该是两者之间的差异.

c#

6
推荐指数
1
解决办法
1490
查看次数

CLR内存异常

我们得到了很多内存异常,我们似乎无法诊断正在发生的事情.这似乎是一个问题,会在几分钟内将内存使用率从300兆的增加到千兆以上.现在这是一个IIS应用程序,有3个应用程序域在不同的线程池中运行.

我们想记录内存异常即将发生的时间.所以我们可以尝试找到一种模式.我的问题是:最好的方法是什么?有没有办法每分钟查询内存使用情况,看看有多高,并发送警报电子邮件.或者编写一个可以监控CLR内存使用情况的应用程序?一个想法或方向更受欢迎.

编辑

我正在使用Perfmon,但除非我正在观察这个过程,否则它不是那么有用.我只能看到是什么以及什么时候.我还使用了红门内存配置文件工具,顺便说一句,这很棒,只是我似乎无法点击导致异常的页面或进程.

c# iis memory-leaks

6
推荐指数
1
解决办法
3480
查看次数

HashTable或字典查找时间

HashTable或Dictionary的查找时间是否始终为O(1),只要它具有唯一的哈希代码?

如果HashTable有1亿行,那么查找具有1行的内容需要相同的时间吗?

c# dictionary hashtable

5
推荐指数
1
解决办法
5190
查看次数