2011-12-16 5 views
2

データセンター内のサーバーでSilverlightアプリケーションをホストしています。クライアントはイントラネット上にあり、イントラネット上のサーバーに接続できるようにするにはアプリケーションが必要です。内部ネットワーク上のSilverlight SecurityException(外部ではない)

クライアントのサーバーも一般公開されているので、私のマシン(良いclientaccesspolicy.xmlとそのすべてのジャズ)から自分のサーバーに話すようにSilverlightアプリケーションを入手できます。しかし、彼のためにはうまくいかないでしょう。 Silverlightアプリケーションは、イントラネットの背後から自分のサーバーにアクセスしようとすると、曖昧なSecurityExceptionをスローします。あなたは視覚的な人だ場合

は、ここでの状況の素敵な図です:

Client can't access his own server with my Silverlight app

(緑の接続は、インターネットを介しており、赤は失敗イントラネット接続である。)

私たちは同じURIを使用してサーバーにアクセスしており、Silverlightサーバーとイントラネットサーバーの両方を「信頼済みサイト」リストに追加しています。

SecurityExceptionが次のようになります。私は死んで終わりだ

System.Security.SecurityException ---> System.Security.SecurityException: [Arg_SecurityException] 
Arguments: 
Debugging resource strings are unavailable. Often the key and arguments provide sufficient information to diagnose the problem. See http://go.microsoft.com/fwlink/?linkid=106663&Version=5.0.61118.00&File=mscorlib.dll&Key=Arg_SecurityException 
    at System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult) 
    at System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClassa.<EndGetResponse>b__9(Object sendState) 
    at System.Net.Browser.AsyncHelper.<>c__DisplayClass4.<BeginOnUI>b__1(Object sendState) 
    --- End of inner exception stack trace --- 
    at System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state) 
    at System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult) 
    at System.Net.WebClient.GetWebResponse(WebRequest request, IAsyncResult result) 
    at System.Net.WebClient.DownloadBitsResponseCallback(IAsyncResult result) 

。クロスゾーンの問題のように見えますが、両方のサイトが同じ「信頼済みサイト」ゾーンにあります。私は何が欠けていますか?

EDIT: 問題を診断するためにFiddlerを使用したことにも言及する価値があります。面白いことに、彼のマシンはclientaccesspolicy.xmlファイルをチェックせず、サーバーとの通信を試みることさえできません。

+0

関連するサーバーで 'clientaccesspolicy.xml'または' crossdomain.xml'ファイルがありますか? – ChrisF

+0

はい、良いclientaccesspolicy.xmlファイルがあるため、自分のサーバーに接続できます。 – Phil

答えて

1

クライアントは実際にローカルイントラネットゾーンで自分のサーバーを持ち、信頼できるゾーンにはサーバーがあることが分かります。彼は私のサーバーをローカルのイントラネットゾーンに移動し、それが動作し始めました。

関連する問題