Я должен получить максимальную производительность в моей службе WCF. В одном из моих тестов служба ниже получала только 50 тыс. Данных в минуту с помощью NetTcpBinding. Будет ли отключенная привязка, такая как NetMsmqBinding, улучшить эту производительность?Какая привязка WCF наиболее эффективна?
Служба и клиент используют 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();
}
}
}
Код, приведенный выше, является упрощенной версией настоящего кода.
См. http://stackoverflow.com/questions/1613586/c-wcf-inter-process-communication/1613601#1613601 для блок-схемы о том, как выбирать привязки WCF. Он напрямую не затрагивает вопрос о производительности, но другие, рассматривающие этот вопрос, могут оказаться полезными. –