ServiceStack ServiceClient を使用して API ラッパーを作成しています。返されるエンティティの数が多すぎる場合、API は HTTP 206 を返します。たとえば、次のようにラップされた API エンドポイントの場合など、ServiceClient でこれを処理する良い方法はありますか。
var result = client.Get<IEnumerable<TResource>>("path");
ServiceStack ServiceClient を使用して API ラッパーを作成しています。返されるエンティティの数が多すぎる場合、API は HTTP 206 を返します。たとえば、次のようにラップされた API エンドポイントの場合など、ServiceClient でこれを処理する良い方法はありますか。
var result = client.Get<IEnumerable<TResource>>("path");
これはHTTP 206を返すServiceStackサービスですか? これは、ServiceStack に組み込まれている動作ではないためです。ServiceStack を使用している場合は、IIS/ASP.NET 要求の制限を増やして、より大きな応答を許可する必要がある場合があります。
それ以外の場合は、サード パーティの API を使用している場合は、ServiceStack サービスの消費を重視するServiceStack のサービス クライアントを使用しないでください。代わりに、ServiceStack に組み込まれているHTTP Utilsのようなものを使用して、サービスがサポートしている場合にカスタム HTTP ヘッダーを指定できるようにする必要があります。HTTP リクエスト フィルターで指定することにより、部分的なコンテンツ範囲を要求できます。
var json = "http://example.org/users".GetJsonFromUrl(
requestFilter: httpReq => httpReq.AddRange(0, 1000));