1

2 つの別々の iis サーバーでホストされているプロジェクトがあります。サイト/サーバー 1 にはサイトのコアが含まれており、https プロトコルを使用する asp.net です。サイト/サーバー 2 は、サイト 1 から参照する必要がある Silverlight アプリを含むサード パーティ サーバーです。

ここに画像の説明を入力

サイト 1 には、Silverlight コントロールのビューアー ページがあり、initparams を動的に読み込んでサーバー ユーザー名とその他のいくつかのパラメーターを指定する以外に特別なことはありません。私が問題を抱えているのは、両方のサーバーが http であるテスト環境で、問題なく xap ファイルにアクセスできます。ただし、サーバー 1 (ビューアーを含む) がサーバー 2 の xap ファイルを呼び出す開発/運用環境に移動すると、Silverlight アプリが読み込まれません。サーバー 2 には、次の clientaccesspoliy ファイルがあります。

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="*">
        <domain uri="*" />
        <domain uri="http://*" />
        <domain uri="https://*" />
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>

この呼び出しを行うことは可能ですか (http から xap ファイルをプルするための https)?

私が持っていたもう1つの考えは、両方のサーバーでhttpsを使用することでしたが、これをテストする際に、iisサーバー証明書が自己署名されているため、これに関するIEからセキュリティプロンプトが表示され、信頼を確認できないためアプリがタイムアウトします.

私が考えた 1 つのハックは、証明書の信頼を上書きし、コードを介して ti を true に設定することでしたが、私はこのアイデアの大ファンではありません。

私が達成しようとしていることが可能かどうか、または別の実装の提案を誰かが確認できますか?

前もって感謝します

-乾杯

アップデート

セキュリティまたは Silverlight が原因で、これが不可能であるかのように見えます。私が現在追求している 1 つのオプションは、代わりにサーバー 2 に html ファイルと xap ファイルを残すことです。xap ファイルをロードしようとする代わりに、Silverlight コントロールを呼び出すリンクのクリック イベントでパラメーターを取得し、シリアル化して渡します。シリアル化されたオブジェクトとしてセカンダリ サーバーに送信します。次に、これらの値を sl コントロールに直接渡すことができます。最もクリーンなアプローチではありませんが、うまくいくようです。

4

0 に答える 0