2017-03-22 8 views
0

xmlを編集するためのプログラムがあります。XML文書にスキーマを追加するのに時間がかかります

私は

Sub Initialize() 
     document.Schemas.Add("http://www.w3.org/2000/09/xmldsig#", 
          ".\XSD\xmlsig.xsd") 
     ' Dummy data here 
     document.Schemas.Add("http://needed.url.org/docs/xsd/v1.2/", 
          ".\XSD\myxsd_v1.2.xsd") 
     initialized = True 
    End Sub 

このように私のXMLにベーススキーマを追加することで始まるカントーの問題は、2番目のスキーマの追加は最初の1の13msの対60秒間にわたり、完了するまでに時間がかかることです。

私はすでに気づい:ページが見つかりませんに

  • 第2のリンクポイントを私はそれが問題だかわかりません。
  • XmlUrlResolverを自分で追加しようとしていて、プロパティでフィドルを変更しようとしても違いはありません。
  • 私のネットワークアダプタを無効にすると操作が瞬時に行われたので、そのネットワークは要因であり、xsdの検証はできませんが、間違っている可能性があります。

私は何か間違っていますか? このコードを高速化するにはどうすればよいですか?アプリケーションがドキュメントを初期化するために70秒以上待つことは本当に理想的ではありません。

編集1:ネットワークパケットの解析xmldsig-core-schema.xsdのGETリクエストが発生したが、スキーマをローカルに追加しようとすると、DTDに関する例外がドキュメントで許可されない私は、このしかし

編集2を回避することができる方法のアイデアは:今、プログラムが正しく

答えて

1

W3Cが意図的に一般的に使用されるスキーマの要求に対する応答を遅らせるローカルバージョンをロードし、上記のスキーマを要求XSDを変更しますユーザがローカルコピーに優先的にアクセスすることを促すために、彼らは数秒前に来る何千もの要求を処理できないため、数年前にこれをやり始めました。

ネットワークモニタリングを実行して、どのリソースが要求されているかを確認します(アプリケーションで直接命名されたものではなく、間接的に参照されるものもあります)。ローカルコピーを使用してこれらの要求にXmlResolverが応答することを確認します。

+0

私はこれを調べようとしましたが、それに応じて私の質問を編集しました – Forna

+0

新しい問題があるようですので、この回答を受け入れて新しい質問を提出する必要があります。 –

関連する問題