Я искал этот ответ, и все, что я нашел, это link, но когда я попытался следовать учебному пособию, мне не удалось. Мне нужно подключить приложение Silverlight к базе данных, чтобы показать информацию из определенной таблицы. Поскольку я не хочу использовать тот же ORM для своей страницы и моего приложения silverlight, я создал новый проект webservice WCF и создал внутри него классы LINQ to SQL.Как подключить приложение Silverlight к службе WCF?
Я протестировал свой сервис WCF, и он отлично работает, но каким-то образом приложение Silverlight не достигает его. Я изменил файл web.config, и теперь он выглядит следующим образом.
Мой web.config
<?xml version="1.0"?> <configuration>
<connectionStrings>
<add name="bd_webportosConnectionString" connectionString="Data Source=BARNEY\DEV;Initial Catalog=bd_webportos;User ID=sa;Password=Stigeo_1_adm_1"
providerName="System.Data.SqlClient" /> </connectionStrings> <system.web>
<compilation debug="true" targetFramework="4.0" /> </system.web> <system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="basicHttpBindingConfig">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Ntlm"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:7298/DataToSilverlight.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService1"
contract="DataRetrieverReference.IService1" name="BasicHttpBinding_IService1" />
</client>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information
-->
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> </system.serviceModel> <system.webServer>
<modules runAllManagedModulesForAllRequests="true"/> </system.webServer> </configuration>
Я не знаю, как решить эту проблему. И хотя я застрял, я старался идти вперёд, но потом я снова застрял на следующем шаге, чтобы добавить ссылку на службу в приложение silverlight. Как я пытаюсь делать то, что он говорит следующее сообщение Показано:
Был ошибку загрузки метаданных из адреса. Пожалуйста, убедитесь, что вы ввели действительный адрес .
Я протестировал сервис через тестовый клиент WCF, и это сработало, но мое приложение silverlight не достигает его. Я получаю следующее исключение:
Произошла ошибка при попытке сделать запрос на URI «http://localhost:7298/DataToSilverlight.svc». Это может быть связано с попыткой сделать доступ к службе в междоменном способе без надлежащей политики междоменного домена на месте или в политике , непригодной для SOAP-сервисов. Вы можете связаться с владельцем службы , чтобы опубликовать файл политики кросс-домена и обеспечить его возможность отправлять HTTP-заголовки, связанные с SOAP. Эта ошибка также может быть вызвана использованием внутренних типов в веб-службе прокси без использования атрибута InternalsVisibleToAttribute. Подробнее см. Внутреннее исключение для .
Можете ли вы, ребята, помочь мне решить эту большую проблему или даже показать другой способ добиться того, чего я хочу?
Я также недавно обнаружил, что мой crossdomain.xml не загружается ... но я не знаю, что это значит.
Вы должны изменить заголовок на «Как подключить Silverlight к службе WCF»? так как это не имеет ничего общего с базой данных, а с клиентским сервером. –