#c# #.net #silverlight #web-services
#c# #.net #silverlight #веб-службы
Вопрос:
Я открываю какой-то старый демонстрационный код и получил следующее сообщение, когда начал сеанс отладки:
"The Silverlight project you are about to debug uses web services. Calls to the
web service will fail unless the silverlight project is hosted in and launched
from the same web project that contains the web services."
Я работаю в Visual Studio 2010, и проекты настроены для .NET 4.0. Существует веб-проект, в котором размещен файл xap, и проект Silverlight, который создает xap. Проект Silverlight имеет служебную ссылку на общедоступный сервис котировок акций.
Мой вопрос: Что означает приведенное выше предупреждение (с точки зрения непрофессионала) и как мне его разрешить?
Ответ №1:
Я думаю, это исчезнет, если вы установите веб-проект, в котором размещено приложение Silverlight, в качестве вашего проекта запуска (щелкните правой кнопкой мыши по проекту в обозревателе решений и выберите «Установить как проект запуска»).
Комментарии:
1. снова столкнулся с этой проблемой, и, по-видимому, у меня уже была эта проблема, потому что я уже проголосовал за нее. Я хотел бы снова проголосовать за это
Ответ №2:
Silverlight по умолчанию может совершать вызовы либо к службам, размещенным в том же домене, где был загружен XAP, либо к службам, которые явно разрешают абонентам из других доменов совершать этот вызов — см. http://msdn.microsoft.com/en-us/library/cc197955(VS.95).aspx для получения дополнительной информации об этом. Поскольку вы говорите, что вызываете общедоступную службу (я предполагаю, что она вам не принадлежит), то либо вызовы будут просто работать (если служба разрешает междоменные вызовы), либо они завершатся неудачей (если это не так).
Комментарии:
1. Еще одна вещь, если служба не разрешает междоменные вызовы, вы можете создать какую-либо службу в том же домене для прокси вызовов службы, поскольку на саму службу не будут распространяться те же ограничения x-домена, что и на приложение SL.