Я искал этот ответ, и все, что я нашел, было ссылка , но когда я попытался следовать этому уроку, мне не удалось.Что мне нужно, это подключить мое приложение Silverlight к базе данных, просто чтобы показать информацию из определенной таблицы.Поскольку я не хочу использовать один и тот же ORM для своей страницы и моего приложения silverlight, я создал новый проект веб-сервиса WCF и создал в нем свои классы LINQ to SQL.
Я протестировал свой сервис 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 не загружается ... но я не знаю, что это значит.