小编jul*_*o.g的帖子

等待与task.Result相同的已完成任务?

我正在阅读Stephen Cleary撰写的"C#Cookbook中的并发",我注意到以下技巧:

var completedTask = await Task.WhenAny(downloadTask, timeoutTask);  
if (completedTask == timeoutTask)  
  return null;  
return await downloadTask;  
Run Code Online (Sandbox Code Playgroud)

downloadTask是对httpclient.GetStringAsync的调用,timeoutTask正在执行Task.Delay.

如果它没有超时,则downloadTask已经完成.为什么有必要做第二次等待而不是返回downloadTask.Result,因为任务已经完成了?

c# asynchronous task async-await

107
推荐指数
2
解决办法
6万
查看次数

Get-Content -wait无法按照文档中的说明进行操作

我注意到,当Get-Content path/to/logfile -Wait文档解释它应该时,输出实际上不会每秒刷新一次.如果我将Windows资源管理器转到日志文件所在的文件夹并刷新文件夹,则会Get-Content将最新更改输出到日志文件.

如果我tail -f在同一个日志文件上尝试使用cygwin(不是在尝试的同时get-content),那么它会像人们期望的那样尾巴,在没有我必须做任何事情的情况下刷新实时.

有谁知道为什么会这样?

powershell powershell-3.0

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

windows.location.href无法在Firefox3上运行

我们有一个名为"move"的JavaScript函数,它只执行"windows.location.href = 任何给定的锚 ".
此功能适用于IE,Opera和Safari,但在Firefox中会被忽略.对谷歌进行研究并不会产生令人满意的答案,为什么它不起作用.
是否有任何JavaScript专家知道这种行为,以及通过JavaScript跳转到锚点的最佳做法是什么?

javascript firefox

19
推荐指数
3
解决办法
8万
查看次数

如何在Sql Server中保护数据库免受Server Administrator的影响

我们要求客户保护我们的应用程序使用的数据库,即使是他们的本地管理员(审计员只是给了他们这个要求).

在他们的要求中,保护数据意味着Sql Server管理员无法读取,也无法修改存储在表中的敏感数据.

我们可以在Sql Server 2005中使用Encryption来做到这一点,但这会干扰我们的第三方ORM,并且还有其他缺点,比如索引等.

在Sql Server 2008中,我们可以使用TDE,但我知道此解决方案不能防止具有Sql Server管理员权限的用户查询数据库.

这个问题有最佳实践或已知解决方案吗?

此问题可能类似于由主机提供商托管的应用程序,并且您希望保护数据免受主机管理员的影响.

我们可以使用Sql Server 2005或2008.

sql-server security

9
推荐指数
1
解决办法
7873
查看次数

需要IQueryable ToArray和ToList链接

我正在做一个Pluralsight课程,其中作者正在解释为了返回一个正确的集合(而不是作为实体框架查询结果的Lazily加载的集合),它需要进行ToArray操作.到目前为止IQueryable一切都那么好,但后来他解释说,你不能这样做ToArray(),所以他需要真正做到query.ToList().ToArray();

你真的需要这两种方法吗?我已修改代码,似乎与ToList()使用相同ToArray()(该方法应返回IEnumerable<T>).

c# linq

0
推荐指数
1
解决办法
427
查看次数