Развертывание Amazon Elastic Cloud и Silverlight - PullRequest
0 голосов
/ 02 апреля 2009

Мы экспериментируем с размещением приложения silverlight на Amazons EC2.

Я могу заставить его обслуживать файл .xap, но у меня возникли некоторые проблемы с использованием веб-сервисов, которые требуются приложению silverlight.

Обычно я добавляю ссылку на службу в visual studio и вводю URL для веб-службы, например, http://url.com/ServiceName.svc, и для меня создается прокси.

Однако, когда экземпляр Amazon Elastic Cloud вводит URL-адрес

http://ec2 -174-129-139-48.compute-1.amazonaws.com / AuthService.svc

выдает ошибку "не распознается как известный тип документа"

И если я введу

http://ec2 -174-129-139-48.compute-1.amazonaws.com / AuthService.svc? Wsdl

В адресную строку интернет-проводника я получаю описание wsdl - но эта часть в конфигурации выглядит немного странно

<wsdl:types>
<xsd:schema targetNamespace="http://asp.net/ApplicationServices/v200/Imports">
  <xsd:import schemaLocation="http://ip-0af8db15/AuthService.svc?xsd=xsd0" namespace="http://asp.net/ApplicationServices/v200" /> 
  <xsd:import schemaLocation="http://ip-0af8db15/AuthService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" /> 
  </xsd:schema>
  </wsdl:types>

Расположение схемы http://ip -0af8db15 / AuthService.svc ? не похоже на правильный адрес для меня?

Кто-нибудь знает, нужно ли мне что-то настраивать или что-то менять для доступа к веб-сервисам WCF в Amazon EC2?

Редактировать: Следует отметить: Windows Server 2003, IIS 6.0

Редактировать: похоже, ip-0af8db15 - это имя машины

Ответы [ 3 ]

1 голос
/ 07 декабря 2010

На всякий случай, если кто-то столкнулся с той же проблемой: при создании прокси попробуйте удалить http: // в начале адреса EC2, а затем в настройке службы заменить часть "ip-0af8db15" на адрес EC2.

Надеюсь, это помогло.

0 голосов
/ 03 апреля 2009

Эта тема (особенно последние два сообщения) помогла мне решить эту проблему.

http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/c7fd51a2-773e-41d4-95a0-244e925597fe/

0 голосов
/ 02 апреля 2009

У меня тот же сценарий, развернутый без проблем. Почему бы вам не попробовать использовать IP-адрес вместо динамического имени хоста:

http://174.129.139.48/AuthService.svc

Edit:

Если имя недостижимого сервера вводится в сгенерированный прокси-сервер VS.Net, вы можете настроить его вручную в автоматически сгенерированном файле configuration.svcinfo. Кроме того, вы можете установить URL-адрес программно, это лучший вариант, так как он не будет перезаписан, если вам потребуется повторно сгенерировать прокси.

BasicHttpBinding binding = new BasicHttpBinding();
EndpointAddress address = new EndpointAddress("http://174.129.139.48/AuthService.svc");
YourProxy yourProxy = new YourProxy(binding, address);
...