Я размещаю приложение Silverlight на сервере в центре обработки данных.Мой клиент находится в интрасети, и ему нужно приложение, позволяющее ему подключаться к серверу в собственной интрасети.
Сервер клиента также открыт для общего доступа, и я могу заставить приложение Silverlight говоритьк его серверу просто отлично с моей машины (хороший clientaccesspolicy.xml и все такое джаз).Однако это не сработает для него.Приложение Silverlight создает неопределенное SecurityException, когда он пытается получить доступ к своему собственному серверу из-за своей интрасети.
Если вы визуальный человек, вот хорошая диаграмма ситуации:
![Client can't access his own server with my Silverlight app](https://i.stack.imgur.com/JWlD5.png)
(Зеленые подключения через Интернет, а красный - сбой подключения к интрасети.)
Мы оба используем один и тот же URI для доступа к серверу, и у него есть оба моихСервер Silverlight и его сервер интрасети добавлены в его список «Надежных сайтов».
Исключение безопасности выглядит следующим образом:
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)
Я нахожусь в тупике.Это похоже на проблему между зонами, но, опять же, оба сайта находятся в одной зоне «Надежные сайты».Чего мне не хватает?
РЕДАКТИРОВАТЬ: Стоит также упомянуть, что он использовал Fiddler для диагностики проблемы.Интересно, что его машина не проверяет файл clientaccesspolicy.xml и даже не пытается связаться с сервером.