У меня Tuples прекрасно работают с .NET 4.0 и WCF (напоминание: вам нужна .NET 4.0 для поддержки Tuple).
Вот метод модульного теста (который вызывает метод через слой WCF):
/// <summary>
/// Test Tuples
/// </summary>
[TestMethod()]
public void WcfTestTupleUnit()
{
Tuple<double, double> x;
x=CallViaWCF.testTuple();
Assert.AreEqual(x.Item1, 42);
Assert.AreEqual(x.Item2, 43);
}
#endregion
Вот интерфейс:
[OperationContract]
Tuple<double, double> testTuple();
Вот реализация:
public Tuple<double, double> testTuple()
{
return new Tuple<double, double>(42, 43);
}
Я только что проверил это с помощью отладки, используя «Приложение-службу WCF» (см. New..Project), которое обслуживает службу WCF. Я использую этот метод для отладки, так как я могу использовать отладчик для плавного перехода от клиента WCF к службе WCF и обратно, что иногда очень полезно.
Я также только что проверил этот метод, развернув его как в консольном приложении, так и в сервисном приложении, поэтому он определенно работает для меня.