我正在创建一个服务器来监控网页上客户端的在线状态.
客户端将使用JavaScript(在HTML页面上)联系(单独)服务器,以告知服务器它们是活动/在线的.
我正在考虑两种方法之一:
与keep-alive的持续连接定期发送.这将使我在客户端断开连接时具有更高的精度,并且我不需要经常更新内存结构(onlineinfo),因为我们知道客户端何时进出.网络设备/带宽的其他好处.
客户端(重新)每隔一段时间连接一次,告诉服务器它们还活着.这需要大量的连接,并且必然会降低准确性.我想像2-3分钟的间隔是我们能做的最好的.80k/120 =每秒660个连接...... ASP.Net执行速度不是太快,所以我对此不确定.8核心系统=每次执行约10毫秒.
有了这么多的联系,显然有一些局限性.例如,我无法同时生成那么多线程.1请求IIS产生ASP.Net应用程序将使用1个线程,直到请求完成.
是编写独立的http服务器的最佳选择吗?没有.Nets TcpListener利用httpd.sys(IIS)?
关于这个问题的任何(建设性的)想法都将受到赞赏.
编辑:通过以下来自Nicolas Repiquets的链接添加一些有用的链接到这篇文章:
此问题已经发布过,但我找不到一个好的答案.
我想在我的WPF应用程序中使用MDI子项.我希望这些孩子完全符合WPF标准.
.Net WPF不再有MDI子节点(主窗口中的窗口).有人说这是因为设计已经过时,GUI应用程序不应该这样设计.那些人可以不回答这篇文章.我知道我需要什么.:)
WPF MDI有哪些(最好是免费的)替代品?他们会与MVVM合作吗?
编辑:人们 - 不要投票评论说"MDI不好".我特意要求人们避免这种情况.我要求MDI窗口,不要被告知不要使用MDI窗口.
执行行:
Response.Redirect("Whateva.aspx", true);Run Code Online (Sandbox Code Playgroud)
结果是:
A first chance exception of type 'System.Threading.ThreadAbortException' occurred in mscorlib.dll An exception of type 'System.Threading.ThreadAbortException' occurred in mscorlib.dll but was not handled in user code
例外是由于"真实"部分,告诉它立即结束当前请求.
这应该是怎么回事?
如果我们考虑:
有没有其他方法来实现相同的目标?
我们刚刚测试了2台服务器的AppFabric集群,我们删除了"主导"服务器.第二个服务器因任何错误请求超时:
Microsoft.ApplicationServer.Caching.DataCacheException:ErrorCode <ERRCA0017>:SubStatus <ES0006>:存在临时故障.请稍后重试.(一个或多个指定的缓存服务器不可用,这可能是由繁忙的网络或服务器引起的.确保已为群集上的此客户端帐户授予安全权限,并允许AppFabric缓存服务通过所有缓存主机上的防火墙.稍后再试.)
实际上,这意味着如果群集中的一台服务器发生故障,那么它们都将停止运行.(注意我们不使用Windows群集,只将多个AppFabric缓存服务器相互链接.)
即使单个服务器出现故障,我也需要群集继续运行.我该怎么做呢?
(我意识到这个问题是临界服务器故障,但imho开发人员应该知道这一点.)
我正在考虑将.Net应用程序的一部分移动到其他计算机上.显而易见的方法是使用带有二进制tcp协议的WCF,例如" 最简单的方法来获取.NET的快速RPC? "中的描述符.
我将进行大量的呼叫,延迟是一个大问题.基本上一台计算机将运行一个物理模拟器,其他计算机将使用几百个命令的API与它进行交互.
我认为最好的方法是制作一个自定义二进制协议,其中API命令由int16和序列号标识,然后是必需的参数.硬连线发送和接收类将消除任何不必要的开销.
但是,由于我们正在讨论数百个API命令,因此这是很多工作.
有关实施它的最佳方法的任何想法?
编辑: 澄清:.Net中的AFAIK序列化未优化.序列化和反序列化对象的惩罚相对较高,例如反射的内部使用.这是我想要避免的,因此我的直接映射(hardwiring)方法.
经过一番搜索,我找到了一个应用程序,我有一个模糊的回忆:http://www.protocol-builder.com/
我正在从麦克风中读取原始数据并进入FFT.我正在尝试的两个FFT库(AForge和Exocortex.DSP)将复数作为输入,并将复数作为输出.
我试图了解复数是多少.
更具体地说 - 如何将从麦克风获得的原始音频数据转换为复数以便在FFT中进行处理?
如何将输出绘制成一个漂亮的频谱图(即从输出中读取频率和幅度)?
额外的奖励:除了上面提到的两个之外,.Net还有哪些FFT库?
我想在VLC支持的音频格式之间进行内存转换.例如从MP3到PCM波.由于各种原因(速度,实时流),无法将文件写入磁盘,转换并读回.这一切都必须在记忆中完成.我对VLC API不太熟悉,所以这很可能是一个微不足道的问题.
从我在Codeproject文章中看到的内容可以使用VLC 1.2中的"Memory Renderer"来完成.但是它没有说输入.
如何使用VLC进行音频格式的内存转换(思考System.IO.Stream)?
最佳情况:输入(源)和输出(目标)在内存中.
可以解决:输出在内存中.
为此,我已经看了好几个项目.Vlc > = 1.2的唯一一个(我能看到的)是VlcDotNet.但同样,也许这个功能在1.2之前出现过?
Please note: As the answer shows this problem is specific for ASP.Net Core Release Candidate 1.
在ASP.Net Core/MVC 6中访问URL http:// localhost:58000/Admin/RebuildIndex/AspNetUserRoles/PK_IdentityUserRole%3Cstring%3E
给出了这个错误:
System.ArgumentException:路径中的非法字符.
在System.IO.Path.CheckInvalidPathChars(字符串路径,布尔checkAdditional)
在System.IO.Path.GetExtension(字符串路径)
在Microsoft.AspNet.StaticFiles.FileExtensionContentTypeProvider.TryGetContentType(字符串子路径,字符串&的contentType)
在Microsoft.AspNet.StaticFiles Microsoft.AspNet.IISPlatformHandler.IISPlatformHandlerMiddleware.d__8.MoveNext()
上的Microsoft.AspNet.StaticFiles.StaticFileMiddleware.Invoke(HttpContext context)
中的.StaticFileContext.LookupContentType ()
这是由于URL中的<和>字符.如果我访问不同的页面,如http:// localhost:58000/Admin/RebuildIndex/AspNetRoles/RoleNameIndex,那么它可以正常工作.
我的路线是这样的:
app.UseMvc(routes =>
{
// Area route
routes.MapRoute(name: "areaRoute",
template: "{area:exists}/{controller}/{action}",
defaults: new { controller = "Home", action = "Index" });
// Default route
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
Run Code Online (Sandbox Code Playgroud)
我访问的控制器看起来像这样:
[Route("Admin")]
public class AdminController : Controller
{
[Route("RebuildIndex/{tableName}/{indexName}")]
[HttpGet]
[Authorize(Roles="Admin")]
public async Task<IActionResult> …Run Code Online (Sandbox Code Playgroud) Span指向一个内存区域。鉴于我知道它是什么内存区域(即数组),我可以(有效地)找出它指向的数组中的第一个元素吗?我认为由于它指向非固定内存,因此该信息必须存储在某个地方,因为地址必须由 GC 更新。
var buffer = new byte[100];
var span = new Span<byte>(buffer);
span = span.Slice(10, 5);
// How can I figure out where in buffer this span starts?
Run Code Online (Sandbox Code Playgroud) 我想测试不同条件下文件系统的性能.
具体来说,我想在没有压缩的情况下测试Windows虚拟机的性能,并且在"普通硬盘"和USB磁盘上都进行压缩测试,因为看看到底有什么区别会很有趣.
我需要的是一个程序,可以测试文件系统的不同方面(随机访问,顺序读/写等),并制作与我的博客很好的漂亮图表.优选地,应用程序应该是自动化的,因此我可以将其添加到启动,这样每次运行的时间相同,我可以重复运行以进行验证.
当我开始测试时,我可以在这里发布一个结果链接.现在正处于规划阶段.
.net ×3
appfabric ×1
asp.net ×1
asp.net-core ×1
audio ×1
benchmarking ×1
c# ×1
caching ×1
disk-io ×1
fft ×1
filesystems ×1
hard-drive ×1
http ×1
load ×1
math ×1
mdi ×1
performance ×1
remoting ×1
rpc ×1
transcoding ×1
vlc ×1
wcf ×1
windows ×1
wpf ×1