Tag: 限制

如何在ASP.NET MVC站点中实现速率限制?

我正在构建一个ASP.NET MVC站点,我想限制经过身份validation的用户使用该站点的某些function的频率。 虽然我理解速率限制如何从根本上解决,但我无法想象如何以编程方式实现它而不会产生主要的代码气味。 你能用C#示例代码指出一个简单而强大的解决方案来解决这个问题吗? 如果重要,所有这些函数当前都表示为仅接受HTTP POST Actions。 我最终可能希望为HTTP GET函数实现速率限制,所以我正在寻找适用于所有这些情况的解决方案。

C#字典 – 如何解决项目数限制?

我正在使用字典,我需要存储近13 000 000个密钥。 不幸的是,在添加了11 950 000个密钥后,我得到了一个例外“系统内存不足”。 有这个问题的解决方案吗? 我将需要我的程序在比以前更少的可用计算机上运行。 我需要那么多密钥,因为我需要存储对 – 序列名称和序列长度,它用于解决生物信息学相关问题。 任何帮助将不胜感激。

可访问性不一致:字段类型“world”比字段“frmSplashScreen”更难访问

我有一个名为Inconsistent accessibility的错误: 字段类型’world’比字段’frmSplashScreen’更难访问 在我的代码中有一个名为frmSplashScreen的公共部分类 还有一个叫做world的公共课 导致错误的行是: private world currentWorld; 上面的行是在frmSplashScreen类中 是什么导致了这个问题?

为Web请求实施速率限制算法的最佳方法是什么?

可能/部分重复: 什么是一个好的速率限制算法? 限制方法在N秒内调用M个请求 在ASP.NET MVC中实现请求限制的最佳方法? 我正在寻找为Web应用程序实现移动时间窗口速率限制算法的最佳方法,以减少垃圾邮件或暴力攻击。 使用的示例是“最近5分钟内来自给定IP的最大失败登录尝试次数”,“最近N分钟内的最大((post/投票/等等)…”)。 我宁愿使用移动时间窗口算法,而不是每X分钟重新统计一次(比如twitter api)。 这将是一个C#/ ASP.Net应用程序。

C#中的带宽限制

我正在开发一个程序,在后台不断发送数据流,我想让用户为上传和下载限制设置上限。 我已经阅读了令牌桶和漏桶的算法,看起来后者似乎符合描述,因为这不是最大化网络带宽而是尽可能不引人注意的问题。 然而,我对如何实现这一点有点不确定。 一种自然的方法是扩展抽象Stream类以使扩展现有流量变得简单,但是这不需要额外线程的参与来发送数据同时接收(漏桶)吗? 任何有关其他实现的提示都将受到赞赏。 此外,虽然我可以修改程序接收的数据量,但带宽限制在C#级别的工作情况如何? 计算机是否仍会接收数据并将其保存,有效取消限制效果还是等到我要求接收更多数据? 编辑:我感兴趣的是限制传入和传出数据,我无法控制流的另一端。

在GDI +中绘制坐标的硬边界是什么?

我正在渲染插值曲线: e.Graphics.DrawLines(new Pen(Color.Red), _interpolationPoints.ToArray()); 有时会抛出OverflowException。 检查_interpolationPoints数组以科学计数法显示一些非常大的值,例如{X = 0.0 Y = -1.985174E + 10} 我怀疑Y = -1.985174E + 10是GDI +无法处理的值。 这很好,但是我可以绘制的最大/最小X和Y值是什么,因此约束数据(并警告用户)而不是在绘制过程中捕获溢出exception? 是否记录了限制? 例如,我想做这样的事情: if (yVal float.MaxValue) throw new OverflowException(“Interpolation value too large to be rendered.”); 在_interpolationPoints数组的填充期间停止进程。 (浮动混合/最大不能正常工作。我仍然得到例外。)

如何以编程方式限制我的c#应用程序的带宽使用?

我在这里有一个备份应用程序,它连接到各种web服务,并从ftp或http服务器下载/上传文件。 限制应用程序带宽使用的最简单方法是什么? 我需要这样做,因为安装和运行的应用程序将减慢所有办公室人员的互联网访问速度,最终将让我陷入地狱。 所以我想实现一个在工作时间内活动的速度限制,并在晚上被禁用。