我正在尝试将F#中的简单异步TCP服务器移植到C#4.服务器接收连接,读取单个请求并在关闭连接之前回送一系列响应.
C#4中的异步看起来很乏味且容易出错,所以我想我会尝试使用WCF.该服务器不太可能在野外看到1,000个同时发出的请求,因此我认为吞吐量和延迟都很重要.
我在C#中编写了一个最小的双工WCF Web服务和控制台客户端.虽然我使用的是WCF而不是原始套接字,但这已经是175行代码,而原始版本只有80行.但我更关注性能和可扩展性:
首先,我正在使用所有内容的默认设置,所以我想知道是否有任何我可以调整来改善这些性能数据?
其次,我想知道是否有人正在使用WCF进行此类事情,或者它是否是错误的工具?
这是我在C#中的WCF服务器:
IService1.cs
[DataContract]
public class Stock
{
[DataMember]
public DateTime FirstDealDate { get; set; }
[DataMember]
public DateTime LastDealDate { get; set; }
[DataMember]
public DateTime StartDate { get; set; }
[DataMember]
public DateTime EndDate { get; set; }
[DataMember]
public decimal Open { get; set; }
[DataMember]
public decimal High { get; set; }
[DataMember]
public decimal Low { get; set; }
[DataMember]
public decimal Close { get; set; } …
Run Code Online (Sandbox Code Playgroud)