Web アプリは Web サービスから XML を使用し、XSLT を使用して HTML に変換します。アプリは、HttpModule を使用して、AddOnPreRequestHandlerExecuteAsync を使用して XML を取得します。
使用するクラス: XmlDocument - xml を格納します。XslCompiledTransform - 変換を格納し、アプリケーションにキャッシュされます。フックされた AddOnPreRequestHandlerExecuteAsync イベントで BeginGetResponse/EndGetResponse HttpModule を使用する非同期 HttpWebRequest。
他に可能な最適化がない限り、XPathDocument を使用したくありません。XmlDocument に書き込む機能がなければ、すべての XML をまとめるには複雑なコードが必要になります。ドキュメントに追加する必要がある、Web サービスに由来しない追加の XML があります。
どんな提案でもいいでしょう。サーバーにメモリの問題があるようには見えませんが、それが何かの証拠である場合は、CPU 使用率が非常に高いだけです。
ありがとう。
アップデート
よく調べた結果、CPU が競合する原因となっている問題は、実際には無限 (またはそれに近い) ループであることがわかりました。これは私のコードにはまったく含まれておらず、発生している場所の性質上、プロファイリングから隠されていました。ここでの教訓として、意味が分からない場合は、コードをバラバラにする前に、問題の別の理由を探してください。