2017-09-21 2 views
0

私は、他の開発者が使用できるようにするために、ドキュメントを生成しようとしているASP.NET(コアではない)で書かれたWebAPIサービスを持っています。私はSwashbuckleを見つけてそれをインストールしました。それから私は私のサービスの一部にODataを使用しているので、Swashbuckle.ODataを追加しました。次に、の設定をSwaggerConfigに変更し、ODataSwaggerProviderを使用しました。私はResolveConflictingActions(apiDescriptions => apiDescriptions.First())も設定しました。これは、同じURLパスでいくつかのアクションがあり、クエリ文字列だけが異なるからです(後で取り上げる必要があります)。ここまでは順調ですね。Swashbuckleに関する問題

次に、私はそれをテストしました。私は自分のWebアプリケーションを起動し、 "/ swagger /"を追加して終了します。リソース情報をロードしているというメッセージが表示されました。しかし、数分後に「エラー:この操作を完了するのに十分なストレージがありません」というブラウザエラーデバッグポップアップが表示されました。それは私がデバッグするかどうかを尋ね、私がそうするならIE(私が使っているブラウザ)のデバッガに連れて行きます。スタック内の唯一のコードは、jquery-1-8-0-min-jsまたはswagger-ui-min-jsのいずれかです(この部分は私のことを混乱させます。私の中には "swagger-ui-min-js"プロジェクト;私はそれがDLLに埋め込まれていると仮定している)。私のコードに戻ってくるスタックトレースの部分はなく、そこにあるすべてのコードが縮小されているので、デバッグは非常に難しいです。

しかし、エラーポップアップを閉じた後に3つのコントローラが結果ページに表示されるため、少なくとも部分的に動作していることがわかります。あなたはそれらをナビゲートすることができ、GET、POST、PUT、およびDELETEはすべてそこにあるように見え、テストすることができます。

「/ swagger /」URLに移動するたびに、ドキュメントを生成するためにSwaggerがサービス内のすべてのURLにヒットしますか?私はおそらく、それは実行するのに特に長い時間がかかっているアクションを打つか、おそらくその生成されたドキュメントがあまりにも多くのディスクスペースを取っている(私はディスク上に十分なスペースを持っていますが、多分RAMを参照しているのだろうか? )。

とにかく、それが問題ではなかったとしても、私は誰かに送ることができる何らかのドキュメントファイルを生成するためにどうすればよいでしょうか?私は新しいファイルが自分のフォルダに追加されていないと思うので、あなたが笑いのURLにナビゲートするたびにプロセス全体を再処理しているように見えます。

+0

コードなしでこれをトラブルシューティングすることはほとんど不可能です...コードをGitHubに置くことはできますか? – HelderSepu

+0

私はGitHubにコードを載せることはできません。多分私は同じ振る舞いを示すダミープロジェクトを作ろうとするかもしれません。しかし、私はより高いレベルで、「実際にここでやっているのはスワッシュバクルって何?問題の内容をより正確に推測することができます。理論的には、実行に時間がかかりすぎる、または多くのデータを返すアクションがあると、「十分なストレージが使用できません」というメッセージが表示されますか?同様に、理論的にはそのメッセージが表示されますか? – RebelScum

+0

Swashbuckleに慣れ親しんで、簡単なWebAPIプロジェクトを開始し、Swashbuckleを追加することをお勧めします。次に、プロジェクトの複雑な機能のいくつかを追加して、どこが壊れているかを確認します。 – HelderSepu

答えて

0

私はChromeブラウザを試しても問題はなくなりました(以前はIE11を使用していました)。問題の内容は不明ですが、これが回避策でした。