小编use*_*702的帖子

为什么无法控制留下最终陈述?

当我return在一个finally语句块中放置一个时,编译器会告诉我:

控制不能离开finally子句的主体

例:

try
{
}
catch
{
}
finally
{
    return;
}
Run Code Online (Sandbox Code Playgroud)

为什么是这样?

c# try-catch

44
推荐指数
2
解决办法
1万
查看次数

泛型与接口的实际优势

在这种情况下,使用泛型与接口有什么实际优势:

void MyMethod(IFoo f) 
{
}

void MyMethod<T>(T f) : where T : IFoo
{
}
Run Code Online (Sandbox Code Playgroud)

即你能做什么MyMethod<T>,你不能在非通用版本?我正在寻找一个实际的例子,我知道理论上的差异是什么.

我知道,在MyMethod<T>T 中,T将是具体的类型,但是我只能在方法体内将它用作IFoo.那么什么才是真正的优势呢?

c# generics polymorphism

42
推荐指数
4
解决办法
9864
查看次数

如何解决"表'dbo.Foo'已经存在." 表不存在时出错?

我创建了一张桌子然后意识到我犯了一个错误.SSMS不会让我更新表而不重新创建它,所以我删除了表,然后尝试再次创建它.

它不会让我这样做,我得到一个错误对话框

表'dbo.Foo'已经存在.

所以我尝试再次删除它:

drop table dbo.Foo
Run Code Online (Sandbox Code Playgroud)

无法删除表'dbo.Foo',因为它不存在或您没有权限.

刷新IntelliSense缓存没有帮助.

sql-server ssms

41
推荐指数
5
解决办法
3万
查看次数

CSS中的下划线"_"是什么意思?

我刚刚在CSS文件中找到以下代码段:

position: fixed;
_position: absolute;
Run Code Online (Sandbox Code Playgroud)

在第二个position陈述之前,这个下划线意味着什么?

css

38
推荐指数
2
解决办法
6757
查看次数

即使我的索引中的数据不多,也会超出高磁盘水印

我正在本地机器上使用elasticsearch.数据目录的大小只有37MB,但是当我检查日志时,我可以看到:

[2015-05-17 21:31:12,905] [警告] [集群] [磁盘]高磁盘水印[10%]已超过[h9P4UqnCR5SrXxwZKpQ2LQ] [Chrome]免费:5.7gb [6.1%] ,碎片将从此节点重新定位

对可能出错的东西感到很困惑.有帮助吗?

elasticsearch

35
推荐指数
3
解决办法
4万
查看次数

EmailConfirmed为false时阻止登录

最新的ASP.NET身份位(2.0 beta)包含确认用户电子邮件地址的基础.NuGet包"Microsoft Asp.Net Identity Samples"包含显示此流程的示例.但在该示例中,即使EmailConfirmed = false在用户体验中也没有不同的行为.

如何在用户尚未确认电子邮件地址时阻止用户登录?我知道我可以让用户登录,然后执行对该EmailConfirmed字段的检查,但是如果我可以阻止用户成功登录时效果会更好EmailConfirmed == false

c# asp.net-mvc asp.net-identity

34
推荐指数
3
解决办法
2万
查看次数

如何在异步任务中使VS中断异常,而不会破坏所有异常?

如此此处所示,异步任务中发生的异常在技术上不是未处理的.

在使用MVC时,这尤其令人讨厌.它实际上花了我们一段时间来弄清楚它为什么越来越多地发生异常没有被捕获,我们在过去几周逐渐向我们的应用程序引入了Web API调用.

public async Task<ActionResult> Foo()
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

建议的解决方法是使VS中断所有异常而不是仅处理未处理的异常.它的工作原理,令人讨厌的"副作用",它确实打破所有例外:)

是否有其他解决方法不涉及打破所有异常?它可以特定于MVC但不一定是(意味着它是一个适用于MVC的通用解决方案).

c# asp.net-mvc visual-studio-2012

33
推荐指数
1
解决办法
3115
查看次数

防止在git存储库中的master分支上直接提交并仅接受合并?

我的git存储库有两个分支,'master'和'dev'.

致力于'dev'的代码在测试之前会经过自动构建过程.然后将传递此代码的代码合并到"主"分支中.

是否可以使用钩子或其他东西来阻止"主"分支上的正常直接提交,并且只接受从"dev"到"master"的合并?

git merge commit

32
推荐指数
2
解决办法
1万
查看次数

实体框架中的存储库模式4何时应该处置?

EF的新手,我注意到使用存储库模式可以真正简化事情并允许我做一些嘲弄.太好了.

我的问题

objectContext的典型用法是尽快销毁,见下文

using (var context = new SchoolEntities())
{    
    context.AddToDepartments(department);    
    context.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

使用Repository模式我注意到没有人真正使用"使用模式",例如

using (var repository= new Repository<Student>(new MyContext))
{    
    repository.Add(myStudentEntity)  
    repository.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

应该是我们应该尽快处理上下文,否则内存可能会泄漏或变得非常大?

任何人都可以澄清吗?非常感谢.

repository-pattern entity-framework-4

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

java.library.path中没有sqljdbc_auth

我有一个Java EE Web应用程序连接到SQL Server 2008实例.连接和检索我的所有表格没有任何问题,除了其中一个.Tomcat日志中的错误是:

警告:无法加载sqljdbc_auth.dll原因: - java.library.path中没有sqljdbc_auth

java sql-server java-ee sql-server-2008

30
推荐指数
4
解决办法
8万
查看次数