Я бы предложил добавить файл "clientaccesspolicy.xml" в корневой каталог вашего сайта со следующим содержимым (по крайней мере, в качестве шага устранения неполадок). Похоже, что полученная вами ошибка подсказывает, что это поможет.
Насколько я понимаю, Silverlight считает межпортовые вызовы междоменными (то есть localhost: 51547 и localhost: 4000 - разные домены).
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
[Изменить]
Ну, первое, что нужно сделать, чтобы это работало, это возможность напрямую подключиться к размещенному сервису, поэтому я выскажу некоторые идеи по поводу проблем, с которыми я столкнулся.
У вас есть эта линия в вашем сервисе?
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class MyService
{
}
а эта строка в Web.Config?
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true">
</system.serviceModel>