PDFファイルの生成に使用されるWCF Webサービス操作があります。そのためにサードパーティのツール (具体的には Syncfusion) を使用していますが、現時点では交換できない可能性があります。
問題は、サードパーティのツールにはマルチスレッドに問題があり、同時に Web サービスへの複数の呼び出しがある場合に機能しないように見えることです。
lock
クリティカル セクションを実行するスレッドを 1 つだけにすることで、問題を解決できます。
Public Class GeneratorController
{
// object we use for lock
private static Object thisLock = new Object();
public void Generate(ref PdfDocument pdfDocument)
{
lock (thisLock)
{
// critical section
}
}
}
私の質問は次のとおりです。それは良い考えですか?Web サービスでそのようなコードを使用すると、何か問題が発生するでしょうか?
ノート
これは Syncfusion に関する質問ではありません。lock
これは、Web サービスでの使用に関する質問です。タグを syncfusion に変更しないでください。