0

以下のコードを使用します。

private class WcfProxy<TService> :
            ClientBase<TService> where TService : class, IContract
        {
            public TService WcfChannel
            {
                get
                {
                    return Channel;
                }
            }
        }

    protected TResult ExecuteCommand<TResult>(Func<TContract, TResult> command)
        where TResult : IDtoResponseEnvelop
    {
        var proxy = new WcfProxy<TContract>();

        try
        {
            var result = command.Invoke(proxy.WcfChannel);
            proxy.Close();
            return result;
        }
        catch (CommunicationException ex)
        {
            proxy.Abort();
            throw new BusinessException(BusinessExceptionEnum.Operational, Properties.Resources.Exception.WcfAdapterBase_CommunicationException_TransportInEnamDataIsInvalid, ex);
        }
        catch (TimeoutException ex)
        {
            proxy.Abort();
            throw new BusinessException(BusinessExceptionEnum.Operational, Properties.Resources.Exception.WcfAdapterBase_TimeoutException, ex);
        }
        catch (Exception)
        {
            proxy.Abort();
            throw;
        }
    }

クエリが大量の結果を返すと、次のメッセージが表示されます。

通信オブジェクトは Faulted 状態であるため、通信に使用できません

データベースクエリの結果を正常に観察する方法またはトリック、または結果を分割または結果の一部を取得する方法はありますか?

4

2 に答える 2