2012-05-03 3 views
2

別のIPセグメントにサーバーにインストールしたときにログインできないSilverlightアプリケーションがあります。 (クライアントは192.168.77.xxにあり、サーバーは192.168.40.xxにあります)。Silverlightはネットワークの異なるIPセグメントでは動作しません

クライアントが同じセグメント上にある場合、クライアントは円滑に実行されます。

クライアントは、サーバーにping、telnet、およびリモートデスクトップを実行できます。また、サーバーから他のアプリケーションにログインすることもできますが、Silverlightアプリケーションにログインすることはできません。

誰かが異なるIPセグメントでSilverlightアプリケーションを実行する方法を知っていますか?

+1

例外はありますか?あなたの認証にウェブサービスを使用していますか?もう少し詳しくpls。 – Stainedart

+0

私は何も得ていません、はい私は認証のためにウェブサービスを使用しています.REST POSTを使用しています。認証リクエストは私のアプリケーションのログにはありません。 HttpWebRequest req =(HttpWebRequest)asynchResult.AsyncState; HttpWebResponse res =(HttpWebResponse)request.EndGetResponse(asynchResult); 私は上記のコードをキャッチしようとしていますが、それは例外で、私もGETを使ってみることにしましたが、失敗してしまいます^^ –

+0

@Stainedart、私はあなたの質問を新たに理解しています。リソース文字列をデバッグすることはできません。キーと引数は、問題を診断するのに十分な情報を提供します。 –

答えて

1

Silverlight 4(およびそれ以降)では、サイト間の要求偽造を防止するため、イメージとメディア以外のすべての要求に対して既定で発信元サイトのみが許可されています。 Silverlightコントロールが別のドメイン内のサービスにアクセスできるようにするには、クロスドメインアクセスを許可するよう明示的にオプトインする必要があります。

したがって、ClientAccessPolicy.xmlまたはCrossDomain.xmlは、SilverlightアプリケーションがホストされているWebサイトのルートに配置する必要があります。ここで

ClientAccessPolicy.xmlのサンプル(現在のドメイン上のすべてのリソースに他のドメインからのアクセスを可能にする)である:

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

そして、ここではCrossDomain.xmlのサンプルです:

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> 
<cross-domain-policy> 
    <allow-http-request-headers-from domain="*" headers="SOAPAction,Content-Type"/> 
</cross-domain-policy> 

読むhereことについてドメイン境界を越えて利用可能なサービス。

+0

ClientAccessPolicyとClientAccessPolicyの両方を使用しないでください。 xmlとCrossDomain.xml。 ClientAccessPolicy.xmlにはさらに多くの機能があります。 CrossDomain.xmlは、一部のFlash Webサイトに既に存在する互換機能としてのみ許可されています。 –

+0

@HiTechMagicあなたは正しいclientaccesspolicy.xmlです。 –

+0

lazyberezovskyとHiTechMagicありがとうございました。私は現在、まだ家にいますので、この日にクライアントオフィスでコードとテストを追加します。 –

関連する問題