Tag: 限制

WCF MaxConcurrentSessions已超出

我遇到了公司申请的问题。 我将总结系统的关键要素: 我公司的系统在Windows XP和7(Home,Pro,Basic)机器上运行了几年。 它是用.NET 4.0编写的,基于WCF。 它使用默认限制值(MaxConcurrentSessions = 100 * CPU(4):足以支持我们的工作负载)。 主要服务由独立的deamon进程(不是IIS)托管。 主服务配置为Multithraded / PerSession实例。 该协议是Reliable NET.TCP。 不超过10个客户端同时访问该服务。 问题是,只有在Windows 7上,间歇性地,由于MaxConcurrentSessions限制(不可能!!!),我得到(我发现WCF完全跟踪日志)“服务器太忙的exception”。 你对这种奇怪的行为有什么看法吗? 谢谢你,祝你新年快乐! 安东尼奥

如何在XNA中暂停重绘?

我制作了一个XNA图像查看器,但它总是重绘场景,即使它没有改变,而且它让我的上网本烧得像地狱一样,所以我希望它在没有任何变化时暂停绘图。 将帧率降低到1是保持冷却的一种方法,但它会导致输出滞后。 如何在没有输入的情况下阻止重绘? 这个问题已经解决了,但是发现了另一个问题 – 游戏在窗口聚焦时消耗了大量的CPU,但是当它不是时,它只需要大约1%的CPU。 有关如何解决此其他问题的详细信息,请参阅此问题: 如何在没有值得计算的情况下减少XNA游戏的CPU使用率?

如果API速率限制超过使用WebApiThrottle – C#Web API,则阻止API请求5分钟

在Web API中有一个非常好的库WebApiThrottle用于API速率限制。 如Wiki页面上所述,我可以根据API调用的授权令牌头来限制API。 但是,如果此api速率限制超过,我怎样才能阻止接下来5分钟的api呼叫? 此外,并非在接下来的5分钟内任何请求都会重置超出限速的时间。 我检查了代码,但找不到此function。 如果有人可以提出建议吗?

按键事件后十进制后的限制数字

我使用以下代码只从用户获取数字,只有一个小数点,这对我在KeyPress事件上工作正常: if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && e.KeyChar != ‘.’) { e.Handled = true; } if (e.KeyChar == ‘.’ && (sender as TextBox).Text.IndexOf(‘.’) > -1) { e.Handled = true; } 现在我想限制小数点后面的数字/数字,即35.25468,表示点/小数后只需要6个数字/位数。 告诉我 !

如何限制C#中的文本框仅接收数字和(点“。”或逗号“,”),在“。”或“,”之后仅允许2个数字字符

我正在尝试开发一个代码来限制TextBox使用C#只允许数字输入+逗号(“,”)或点(“。”)+点或逗号后只有2个数字所以这样看到可以输入的可能数字: 3213,04 = OK 3211,664 = Not 32.31 = OK 32.3214 = Not 334,,00 = Not 3247,.00 = Not 214.,00 = Not 32.. = Not 8465,0 = Ok 654.0 = Ok 明白了我的目标? 我开发了代码 private void txtValormetrocubico_KeyPress(object sender, KeyPressEventArgs e) { if (txtValormetrocubico.TextLength >= 0 && (e.KeyChar == (char)Keys.OemPeriod || e.KeyChar == (char)Keys.Oemcomma)) { //tests } […]

System.IO.File.ReadAllBytes用于大于2GB的文件

我有一个大文件,我需要复制到内存进行进一步处理。 该软件适用于小于2GB的文件,但只要它们通过此限制,我就会得到一个exception,即ReadAllBytes仅支持小于2GB的文件。 byte[] buffer = System.IO.File.ReadAllBytes(file); // exception if file > 2GB 将大于2GB的文件复制到内存的最快方法是什么? 该进程已经是64位,并且已经设置了标志gcAllowVeryLargeObjects 。

我使用通用限制来阻止特定类型

我有一个重载方法 – 第一个实现总是返回一个对象,第二个实现总是返回一个枚举。 我想使方法通用和重载,并限制编译器在generics类型可枚举时尝试绑定到非枚举方法… class Cache { T GetOrAdd (string cachekey, Func fnGetItem) where T : {is not IEnumerable} { } T[] GetOrAdd (string cachekey, Func<IEnumerable> fnGetItem) { } } 与…一起使用 { // The compile should choose the 1st overload var customer = Cache.GetOrAdd(“FirstCustomer”, () => context.Customers.First()); // The compile should choose the 2nd overload […]

NHibernate Criteria list属性的任何元素都为true

我有一个已经创建的NHibernate Criteria查询,我需要修改,所以我可以添加一个新的条件。 该查询基于Order对象,该对象具有OrderItems列表,然后每个OrderItem都有一个名为FinalDeliveryIndicator的bool属性。 在我的Criteria查询中,我需要添加一个条件,我希望所有订单中至少有一个OrderItems将FinalDeliveryIndicator bool设置为true 。 目前的查询是: var search = NHibernateSession.CreateCriteria(typeof(Order)) .CreateAlias(“Contract”, “C”, JoinType.InnerJoin) .CreateAlias(“C.Supplier”, “S”, JoinType.InnerJoin) .Add(Restrictions.Eq(“Buyer.Id”, companyId)) .Add(Restrictions.Eq(“IsDeleted”, false)) .Add(Restrictions.Eq(“IsActiveVersion”, true)) .SetFirstResult(paging.PageIndexSQL) .SetMaxResults(paging.PageSize) .AddOrder(SortOrder.Desc(“Id”)); 现在我需要补充我告诉你的那个条件。 此查询已在此应用程序的许多位置使用,因此我无法切换到QueryOver或其他类型的查询,因为存在崩溃的风险。

如何限制某些assembly的reflection?

在我的.net应用程序中,我想限制对某些程序集的reflection。 我的意思是我想要一个特定的程序集只能通过一些预定义的程序集来反映,而不是通过任何其他程序集。 我怎样才能做到这一点? 编辑: 此工具完全关闭.NET反汇编和程序集的反编译。 我想允许一些预定义的程序集来反映这个程序集,但是限制其他人这样做。 我想要一些应该被声明为汇编的东西,例如,AssemblyOne已经允许你可以反映我的AssemblyTwo,所以只有AssemblyTwo应该能够完全信任它,而不是其他人。

限制线程计数

我有一个列表,其中包含我要下载的项目。 我使用for循环来迭代列表。 对于此List中的每个项目,我启动一个引用该项目的新线程。 我的问题是我想要同时限制maxDownload。 for (int i = downloadList.Count – 1; i >= 0; i–) { downloadItem item = downloadList[i]; if (item.Status != 1 && item.Status != 2) { ThreadStart starter = delegate { this.DownloadItem(ref item); }; Thread t = new Thread(starter); t.IsBackground = true; t.Name = item.Name; t.Priority = ThreadPriority.Normal; t.Start(); } } 我读了一些关于ThreadPool的内容,但后来我无法引用我的项目。 […]