小编McK*_*eG1的帖子

.NET字符串的最大可能长度是多少?

什么是可以在.NET中创建的最长字符串?String就我所见,该课程的文档对此问题保持沉默,因此权威性答案可能需要一些内部知识.64位系统的最大变化是什么?

[这更多是为了好奇而不是实际使用 - 我不打算创建任何使用巨大字符串的代码!]

.net string limits

227
推荐指数
5
解决办法
31万
查看次数

高性能C#服务器套接字的提示/技巧

我有一个.NET 2.0服务器似乎遇到了扩展问题,可能是由于套接字处理代码设计不佳,我正在寻找有关如何重新设计它以提高性能的指导.

使用场景: 50到150个客户端,每个客户端的高速率(高达100秒/秒)的小消息(每个10字节).客户端连接是长期的 - 通常是几个小时.(服务器是交易系统的一部分.客户端消息被聚合成组以通过较少数量的"出站"套接字连接发送到交换机,并且当交换机处理每个组时,确认消息被发送回客户端. .)OS是Windows Server 2003,硬件是2 x 4核X5355.

目前的客户端套接字设计:一个TcpListener产生一个线程作为客户端连接到读取每个客户端套接字.线程阻塞Socket.Receive,解析传入的消息并将它们插入到一组队列中以供核心服务器逻辑处理.使用Socket.BeginSend来自与交换机侧通信的线程的异步调用,通过客户端套接字发回确认消息.

观察到的问题:随着客户端数量的增加(现在为60-70),我们开始在向客户端发送数据和从客户端接收数据时看到间歇性延迟高达100毫秒.(我们记录每条确认消息的时间戳,我们可以看到时间戳序列中偶尔会出现长时间间隔,这些间隙来自同一组中通常在几毫秒内完成的一串ack.)

整体系统CPU使用率很低(<10%),有足够的空闲RAM,核心逻辑和出站(面向交换)端表现良好,因此问题似乎与面向客户端的套接字代码隔离开来.服务器和客户端(千兆局域网)之间有足够的网络带宽,我们排除了网络或硬件层问题.

任何有用资源的建议或指示都将不胜感激.如果有人有任何诊断或调试技巧可以确定出错的地方,那么这些技巧也会很棒.

注意:我有MSDN杂志的文章Winsock:使用.NET中的高性能套接字更接近线路,我已经浏览了Kodart"XF.Server"组件 - 它看起来很粗略.

.net c# sockets performance

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

可以捕获环回流量的Windows数据包嗅探器?

(这是我之前关于测量.NET远程流量的问题的后续内容.)

当我测试我们的Windows服务/服务控制器GUI组合时,在我的开发盒上运行这两个部分通常是最方便的.通过此设置,两者之间的远程通信是通过环回,而不是通过以太网卡.

是否有任何软件包嗅探器可以捕获WinXP机器上的环回流量?Wireshark是一个很棒的软件包,但它只能捕获Windows机器上的外部流量,而不是环回.

.net windows networking remoting

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

来自.NET的CORBA - (dis)推荐的库?

我正在研究一个基于.NET的服务器组件,该组件使用各种特定于目的地的协议与一组目的地(特定股权期权交换)进行通信.我们计划添加的下一个目标使用CORBA,因此我正在研究可以说CORBA的.NET库.

到目前为止,我发现了三种可能性:

  • IIOP.NET是一个开源项目,似乎已经成熟且相当活跃.
  • J-Integra Espresso是Intrinsyc的Microsoft < - > Java互操作性工具套件之一.
  • VisiBroker for .NET(以前称为"Janeva")是Borland的VisiBroker CORBA软件包的一个模块.

有没有人有任何这些经验,无论好坏?

还有其他选择吗?

基于CORBA库( -我可以使用C++的一个omn​​iORBTAO通过混合本地管理C++/CLI代码似乎是前两名,但也有其他人),但数据需要去从的管理核心服务器在某些时候,为编组添加性能成本,并在混合代码场景中使用本机C++库往往相当痛苦.

更新 - 我们已经开始使用IIOP.NET,到目前为止看起来还不错.表现为最新版本(1.9 SP1)似乎是可以接受,而API是相当容易使用.我一定会看IKVM由托德·斯托特的建议-这看起来像一个非常有趣的可能性,如果IIOP.NET没有做成.

更新#2(2010年7月) - 我们已经在生产中使用IIOP.NET一段时间,效果很好.IIOP.NET项目并不完全是我所谓的活动,但后来也不是CORBA,因此似乎没有太多需要进行更多的开发.

.net corba

21
推荐指数
1
解决办法
8156
查看次数

WPF:如何从Fonts.SystemFontFamilies中过滤掉非罗马字体?

我知道如何用几行XAML创建一个WPF字体选择器,绑定到Fonts.SystemFontFamilies(感谢Norris Cheng的优秀博客文章),但我无法弄清楚如何过滤掉所有国际和其他非罗马字母字体家庭.我的用户不太可能需要"蒙Baiti","微软维吾尔",甚至是"Webdings",当那些在名单这使得他们更难找到他们的字体想要的.

SystemFontFamilies我可以用来将非符号罗马字母字体系列与其他字体系列分开,是否可以在对象上找到任何属性?

编辑:我想要使用的信息可以在Windows 7字体控制面板的"Designed for"字段中找到.此字段中的此字符串包含用于拉丁字母应用程序的字体的"拉丁语",用于"国际"字体的其他语言名称(例如,"Mongolian Baiti"是"蒙古语"),以及用于Wingdings等字体的"符号"."类别"字段对于将"显示"字体与"文本"字体分开也很有用.不幸的是,我无法弄清楚从代码中获取此信息的任何方法,我甚至无法弄清楚它在OpenType规范中的位置.我的猜测是涉及OpenType 脚本标签语言标签.

wpf fonts

7
推荐指数
2
解决办法
1878
查看次数

如何测量用于.NET远程处理的IP端口的字节数?

我正在使用.NET远程处理从Windows服务检索定期状态更新到"控制器"应用程序,该应用程序用于显示有关服务正在执行的操作的一些实时统计信息.

由此产生的网络流量巨大 - 是更新数据大小的很多倍 - 所以很明显我以非常低效的方式错误地实现了远程代码.作为修复它的第一步,我需要监控服务用于与控制器通信的IP端口上的流量,以便我可以建立基线然后验证修复.

任何人都可以推荐一种实用程序和/或编码技术,我可以使用它来获取流量统计数据吗?端口的"字节发送"计数就足够了.

.net windows networking remoting

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

使用.NET Framework应用程序中并发类的.NET Core 2.0实现

我想使用.NET Framework应用程序在此引用的Concurrent和Generic集合的.NET Core 2.0实现。创建.NET Standard库,包装这些类并在.NET Framework App中引用项目似乎无效。而是运行类的.NET Framework版本(这很有意义。)

有什么办法吗?我们的应用程序依赖于Core中没有的许多Framework功能,因此不幸的是我们不能仅将其转换为Core应用程序。

.net c# .net-core

5
推荐指数
0
解决办法
297
查看次数

使用LINQ在标记元素处拆分列表?

我有一个List<T>'常规'元素和'标记'元素的混合物.我想把它分成一个List<List<T>>,打破标记.

例如,给定{a,b,M,c,d,e,f,M,g}的输入,其中'M'是标记元素,我想得到{{a,b},{c,d, e,f},{g}}

使用循环很容易完成这项工作,但似乎应该可以用LINQ更紧凑地表达它,并且经过一些头痛之后,我就看不出如何.(我觉得LINQ-fu不够.)

.net linq list

3
推荐指数
1
解决办法
271
查看次数

标签 统计

.net ×7

c# ×2

networking ×2

remoting ×2

windows ×2

.net-core ×1

corba ×1

fonts ×1

limits ×1

linq ×1

list ×1

performance ×1

sockets ×1

string ×1

wpf ×1