「時折」の問題をデバッグしようとしています。電子メールを送信する必要がある従来の ASP アプリケーションがあります。何らかの理由で、この送信を行うために COM 経由で公開された C# オブジェクトを使用しています。c# オブジェクトは、SendAsync を使用して送信を行う、MailMessage と SMTPClient の単純なラッパーです。ASP 側では、オブジェクトは各メールが送信される前に Server.CreateObject() されますが、メール メッセージはタイトなループで送信されます。これにより、メッセージごとに新しい COM オブジェクト (したがって、新しい C# オブジェクト) が生成されます。ただし、オブジェクトが再利用されているかのように、メッセージがドロップされたり、複数の受信者にメッセージが送信されたりしています。
MTS について調査した結果 (二度とそこに行くとは思いませんでした!)、Server.CreateObject が MTS を通過し、MTS が COM オブジェクトをプールして「支援」することを思い出しました/発見しました。代わりに新しい ActiveXObject を実行するように ASP コードを変更しましたが、これは MTS を通過しないと思っていましたが、同じ問題があります。
.net の ServicedComponent インターフェイスが ObjectControl インターフェイスの .net/com+ バージョンであると仮定するのは正しいですか? ServicedComponent から継承した場合、オブジェクトはプーリング = false を許可するように設定されますか? ASP で変更したいのですが、それが不可能な場合は、c# も変更できます。
考え?
編集: ページ言語も JScript であり、「通常の」VBScript ではありません。