草庐IT

ConcurrencyMode

全部标签

c# - 诊断应用程序变慢和内存消耗(可能是 WCF 或 MongoDB C# 驱动程序)?

大约3周后,我们的应用程序遇到了一般性能和内存消耗问题。此问题以前从未发生过,我们不知道如何诊断这种情况。这种情况“有时”发生,每周大约1到2次,症状如下:对应用程序的所有访问都很慢服务器部分使用的内存显着增长但是,如果我们要求所有用户断开/关闭客户端部分,几分钟(大约10分钟)后一切正常,用户可以再次工作,就好像之前什么都没发生过一样。所以这不是内存泄漏。技术背景如下:.net4.6C#中的客户端/服务器/Mongodb架构。客户端是一个WPF应用服务器是作为Windows服务运行的自托管WCF服务WCF使用网络tcp绑定(bind)MongoDB3.6使用2.7C#驱动程序由于问题

c# - WCF ConcurrencyMode Single 和 InstanceContextMode PerCall

我的wcf服务配置有问题。我希望每次调用我的服务时都创建一个新的服务实例。对于并发性,我希望一个调用在另一个调用开始之前完成。因此,如果我有这样的服务:[ServiceBehavior(ConcurrencyMode=ConcurrencyMode.Single,InstanceContextMode=InstanceContextMode.PerCall)]publicclassMyService:IMyService{publicboolMyServiceOp(){Debug.WriteLine("thread"+Thread.CurrentThread.ManagedThread

c# - 使用 WCF 服务行为属性设置为 ConcurrencyMode.Multiple 和 InstanceContextMode.PerCall 时是否可能出现并发问题?

我们有一个WCF服务,可以进行大量事务性NHibernate调用。有时我们会看到SQL超时,即使调用正在更新不同的行并且表被设置为行级锁定。在深入研究日志后,看起来不同的线程正在进入代码中的同一点(我们的事务使用block),并且更新在提交时挂起。但是,这没有意义,因为我们认为以下服务类属性会强制每个服务调用一个唯一的执行线程:[ServiceBehavior(ConcurrencyMode=ConcurrencyMode.Multiple,InstanceContextMode=InstanceContextMode.PerCall)]我们最近将并发模式更改为ConcurrencyM