小编Dor*_*oby的帖子

什么时候应该在C#中使用volatile关键字?

任何人都可以在C#中对volatile关键字提供一个很好的解释吗?它解决了哪些问题,哪些问题没有解决?在哪些情况下它会节省我使用锁定?

c# multithreading

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

ASP.NET的Comet实现?

我一直在寻找在浏览器中实现类似gmail的消息传递的方法,并得出了Comet的概念.但是,我还没有找到一个很好的.NET实现,允许我在IIS中执行此操作(我们的应用程序是用ASP.NET 2.0编写的).

我找到的解决方案(或者可以想到的解决方案)需要为每个用户留下一个正在运行的线程 - 这样一旦收到消息就可以向他返回响应.当然,这根本不可扩展.

所以我的问题是 - 你知道Comet的ASP.NET实现以不同的方式工作吗?这甚至可以用于IIS吗?

asp.net iis comet

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

什么是XML命名空间?

我总是觉得有点难以向其他人解释:为什么存在XML命名空间?我们什么时候应该使用它们,何时不应该使用它们 在XML中使用命名空间时常见的陷阱是什么?

另外,它们如何与XML模式相关?XSD架构是否应始终与命名空间相关联?

xml schema xsd namespaces xml-namespaces

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

将HttpClient设置为太短的超时会导致进程崩溃

我注意到当我使用System.Net.HttpClient短暂的超时时,它有时可能会使进程崩溃,即使它被包装在try-catch块中也是如此.这是一个重现这个的简短程序.

public static void Main(string[] args)
{
    var tasks = new List<Task>();
    for (int i = 0; i < 1000; i++)
    {
        tasks.Add(MakeHttpClientRequest());
    }
    Task.WaitAll(tasks.ToArray());

}

private async static Task MakeHttpClientRequest()
{            
    var httpClient = new HttpClient { Timeout = TimeSpan.FromMilliseconds(1) };
    var request = "whatever";
    try
    {
        HttpResponseMessage result =
            await httpClient.PostAsync("http://www.flickr.com/services/rest/?method=flickr.test.echo&format=json&api_key=766c0ac7802d55314fa980727f747710",
                                 new StringContent(request));             
        await result.Content.ReadAsStringAsync();                
    }
    catch (Exception x)
    {
        Console.WriteLine("Error occurred but it is swallowed: " + x);
    }
}
Run Code Online (Sandbox Code Playgroud)

运行此命令会使进程崩溃,但会出现以下异常:

Unhandled Exception: System.AggregateException: One …
Run Code Online (Sandbox Code Playgroud)

c# dotnet-httpclient

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

为什么ConcurrentBag <T>没有实现ICollection <T>?

我有一个方法,它采用IList <>并添加东西.在某些情况下,我想将它传递给ConcurrentBag,但它不实现IList <>或ICollection <>,只实现非通用的ICollection,它没有Add方法.

现在,我明白为什么它不能(可能)实现IList - 它不是一个有序的集合,所以它有一个索引器没有意义.但我没有看到任何ICollection <>方法的问题.

所以为什么?而且,在.NET中是否有一个线程安全的集合可以实现更强大的接口?

c# concurrency

28
推荐指数
4
解决办法
7147
查看次数

在C#中最简单的方法来确定应用程序是否从网络驱动器运行?

我想以编程方式查明我的应用程序是否从网络驱动器运行.这样做最简单的方法是什么?它应该支持UNC路径(\\127.0.0.1\d$)和映射的网络驱动器(Z :).

.net c# network-drive

18
推荐指数
1
解决办法
2634
查看次数

在没有mstest.exe的情况下运行VSTS测试

从我不了解的原因来看,我们所有的单元测试都使用VSTS测试框架.我现在想要创建一个运行测试的MSBuild脚本,但我不想因各种原因使用mstest.exe(速度较慢,需要在任何地方安装Visual Studio,我需要维护testrunco​​nfig等)

我已经看到TestDriven.net和TeamCity能够运行VSTS测试'NUnit样式',而不使用mstest.exe.您是否了解执行此操作的任何独立命令行实用程序?

nunit unit-testing mstest

14
推荐指数
1
解决办法
6206
查看次数

不在焦点时覆盖ListBoxItem背景颜色(.NET 4.5)

根据这一点,覆盖ControlBrushKey资源时应更改ListBox选定项目的背景颜色,如果它没有焦点.我创建了一个简单的例子来反驳这个:

 <StackPanel>
    <ListBox>
      <ListBox.Resources>
        <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="LightBlue"/>
        <!--SelectedItem without focus but doesn't really work-->
        <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Orange" />
      </ListBox.Resources>
      <ListBoxItem>
        Item 1
      </ListBoxItem>
      <ListBoxItem>
        Item 2
      </ListBoxItem>
    </ListBox>
    <TextBox></TextBox>
  </StackPanel>
Run Code Online (Sandbox Code Playgroud)

如果在.NET 4.5中运行它,您可以看到它只会更改焦点对焦颜色,而不会更改非焦点颜色(它在.NET 4.0中有效).知道为什么吗?

编辑:这似乎是.net 4.5下列表/组合框背景和选定颜色的重复.

wpf xaml .net-4.5

11
推荐指数
2
解决办法
4240
查看次数

如何将流体模拟集成到Rigid Body phisix引擎中?

1)有没有证据表明混合刚体phisix和流体(比如SPH)的模拟可以为现实世界提供建模?
2)这种混合的框架如何工作?

假设我们在一个箱子里面有一个woden秋千,里面有两种不同的液体(油和水)和一个柔软的身体球.开始条件如下: 在此输入图像描述

我们怎么能模拟这种情况呢?用什么工具?

我现在如何看待它(如果我错了请高高在上)

  1. 我们所有的身体和液体在州(*)
  2. 诸如Bullet之类的现代发动机支持软体和刚体 - 因此我们可以*在RB\SB phisix引擎中加载()并制作框架.
  3. 获取所有顶点并比较前一帧的位置.走出某种形式的矢量力场.
  4. *在流体发动机的tate()中表示我们的rb/sb,作为来自力场的脉冲的粒子
  5. load(*)使用RB和SB作为粒子,其密度对应于它们制作的材料,并且脉冲对应于先前计算的矢量场
  6. 在流体引擎中制作一个框架
  7. 更新关于粒子运动的rb/sb位置 - 获取新状态(**)

这至少在理论上可以近乎实时地用gpu上的当前流体3 +子弹3来计算......对于简单的情况......但是我想知道这使得系统不真实多少?

algorithm modeling physics bulletphysics fluid-dynamics

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

为什么\ w只匹配javascript正则表达式中的英文单词?

我正在尝试使用javascript代码在某些文本中查找网址.问题是,我正在使用的正则表达式使用\ w来匹配URL中的字母和数字,但它与非英语字符(在我的情况下是希伯来字母)不匹配.

那么我可以使用什么代替\ w来匹配所有语言中的所有字母?

javascript regex hebrew

9
推荐指数
3
解决办法
7802
查看次数