問題タブ [webapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
704 参照

c# - テストのためにSwagger UIのパラメータとして文字列の配列を送信する方法は?

私は次の方法を持っています:

そして、swagger では次のように表示されます。

API

ただし、リモート デバッグを有効にすると、tags パラメーターは常に null になります。

ここで何が欠けていますか?

0 投票する
0 に答える
82 参照

c# - WebAPI を使用してメモリが着実に増加する

現在、特定のコア API のインターフェイスを構築しています。コアはネイティブ C で記述されており、C# を使用して HTTP 要求を適切なコア関数にリダイレクトする Web API をインターフェイスとして作成することにしました。ただし、http 要求を行うたびにメモリが増加し続けることがわかりました。その理由はわかりません。

私のシステムの仕組み:

次のように、httpリクエストを関数にマッピングするApiControllerがあります。

EngineMethods は、P/Invoke を介してネイティブ C++ 関数を呼び出すために使用されるクラスです。load 関数は、次のコードにリダイレクトされます。

load 関数は C++ で記述しています。次に、提供されたコア API を使用する必要があります (関数は既に実装されています)。コアはスレッドセーフではないため、すべての操作でこの Mutex を使用する必要があります。

「ロード」関数を次のようにします。

今私の問題は、「localhost:xxx/load/something」をスパムするとメモリが増え続けることです。古くて無関係な記憶は解放されないようです。C# のガベージ コレクターも有効にならず、手動で開始しても何もクリーンアップされません。アンマネージ メモリを割り当てて解放しないようです。しかし、私がしているのは、与えられたコアの関数を使用することだけです。そして、そのコアを使用するソフトウェアはずっと前にリリースされており、その機能をスパムしてもメモリが増加しないため、コアにあった機能にはメモリリークがあってはなりません。私が考えることができるのは、アイドル状態になって閉じないスレッドだけです...わかりません。コア関数を調べたところ、引数として指定された名前をコピーする前に古い名前が解放されます(そして、私が理解できない他のロード処理を行います)。