2017-08-24 13 views
2

サービスをホストするためにMicrosoft.AspNet.WebApi.OwinSelfHostを使用しているService FabricでホストされているWeb Api 2アプリケーションがあります。サービスfarbricサービスがCreateServiceInstanceListeners()方法でウェブリスナーを開始しているWeb Api OWIN自己ホストのリクエストヘッダーの制限を増やす

public static class Startup 
{ 
    public static void ConfigureApp(IAppBuilder app) 
    { 
     var config = new HttpConfiguration(); 

     config.MapHttpAttributeRoutes(); 
     // ... 

     app.UseWebApi(config); 
    } 
} 

protected override IEnumerable<ServiceInstanceListener> CreateServiceInstanceListeners() 
{ 
    return new[] 
    { 
     new ServiceInstanceListener(serviceContext => new OwinCommunicationListener(Startup.ConfigureApp, serviceContext, "WebApiEndpoint")) 
    }; 
} 

OwinCommunicationListenerは、最終的にWebサーバを起動するサービス・ファブリック・リスナーがある:私のスタートアップクラスはかなり一般的です

public Task<string> OpenAsync(CancellationToken cancellationToken) 
{ 
    // ... 
    WebApp.Start(this.listeningAddress, appBuilder => this.startup(appBuilder))); 

    return Task.FromResult(this.publishAddress); 
} 

私はリクエストヘッダーで大量のデータを渡そうとしているいくつかのリクエストで問題が発生しています。 - リクエストヘッダのサイズが長すぎる長すぎる HTTPエラー400を要求

不正な要求:私は私の要求は、以下を拒否なっているので、制限に達しているようです。

リクエストヘッダーの上限を増やすために自己ホスト型Web APIを設定する方法はありますか?

答えて

1

確かに、自己ホストWeb APIヘッダー長を増やす方法が必要です。

本当にやりたいですか?ほとんどの場合、多くの設定(他のWebサーバー、ファイアウォール、ロードバランサ、APIクライアントなど)を使って戦うことになります。

リクエストヘッダーに大量のデータを送信する必要のない適切なアーキテクチャでは、あなたの人生は将来もっと楽になります。

+0

大きなSAMLトークンです。 – Dismissile

+0

ヘッダーにトークンのハッシュを保持し、本文中の実際のトークンを移動する方法はありますか? –

+0

制限はリクエスト本体と私が理解できる限り同じです。それを体に移すことは何も変わらないでしょう。 – Dismissile

関連する問題