我必须在我的 WCF 服务中获得最大的吞吐量性能。在我的一项测试中,以下服务使用 NetTcpBinding 每分钟仅获得 50k 数据项。像 NetMsmqBinding 这样的断开连接会提高这种性能吗?
服务和客户端使用 WCF 并在同一台机器上运行。
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single,
ConcurrencyMode = ConcurrencyMode.Multiple)]
public class Storage : IStorage
{
protected List<int> _data = new List<int>();
public void Insert(int[] data)
{
lock (_data)
{
_data.AddRange(data);
}
}
public int[] Get()
{
lock (_data)
{
return _data.ToArray();
}
}
}
上面的代码是实际代码的简化版本。