public byte[] GetListOf(Guid version, SerializableType type, int ID, string property)
{
using (Logging.Facade.DebugTraceMethodCallFormat("GetListOf", "type={0}", type))
{
DebugLogIdentity();
try
{
if (type == null) { throw new ArgumentNullException("type"); }
using (var ctx = _ctxFactory())
{
var ifType = _iftFactory(type.GetSystemType());
int resultCount = 0;
var ticks = _perfCounter.IncrementGetListOf(ifType);
try
{
IEnumerable<IStreamable> lst = _sohFactory
.GetServerObjectHandler(ifType)
.GetListOf(version, ctx, ID, property);
resultCount = lst.Count();
return SendObjects(lst, false /*true*/).ToArray();
}
finally
{
_perfCounter.DecrementGetListOf(ifType, resultCount, ticks);
}
}
}
catch (Exception ex)
{
Helper.ThrowFaultException(ex);
// Never called, Handle errors throws an Exception
return null;
}
}
}