Клиент Silverlight получил ошибку NotFound от WCF - PullRequest
0 голосов
/ 14 января 2011

Есть много статей на эту тему, но ни одна из них не помогла мне.Я пытаюсь реализовать сервис, который можно было бы использовать без «Добавить сервис Ref ...», в основном с советом от h http://www.netfxharmonics.com/2008/11/Understanding-WCF-Services-in-Silverlight-2.

Я сделал небольшой проект для воспроизведения проблемы.http://hotfile.com/dl/96710945/9991ac3/SilverlightApplication8.zip.html

Я пробовал решение как:- Обработка ошибок в Silverlight - Междоменная политика и т. Д.

Все стандартные проверки выполняются следующим образом: служба активна и доступна, клиент успешно создает канал и т. Д.

Я целую неделю стекаюсь с этой проблемойи я не могу понять это.

Каждая помощь ценится.

Ответы [ 2 ]

0 голосов
/ 17 января 2011

Я не углублялся в подробности, но я предполагаю, что тип класса реализации службы не подходит.

Итак, мой заводской класс выглядел так:

Открытый класс TimeServiceFactory Унаследован System.ServiceModel.Activation.ServiceHostFactoryBase

Public Overrides Function CreateServiceHost(ByVal constructorString As String, ByVal baseAddresses() As System.Uri) As System.ServiceModel.ServiceHostBase
     Dim host As New ServiceHost(constructorString, baseAddresses)

Необходимо изменить в:

Открытый класс TimeServiceFactory Унаследован System.ServiceModel.Activation.ServiceHostFactoryBase

Public Overrides Function CreateServiceHost(ByVal constructorString As String, ByVal baseAddresses() As System.Uri) As System.ServiceModel.ServiceHostBase
    Dim host As New ServiceHost(GetType(TimeService), baseAddresses)

Разница в том, что я не передал constructorString (который содержит информацию о типе класса реализации службы), я передал GetType (TimeService) instate, который предоставил правильную информацию о типе.

0 голосов
/ 14 января 2011

Денис, попробуйте создать сервис в вашем проекте веб-хостинга.Добавьте сервис, и тогда у вас будет возможность добавить его в качестве ссылки в приложении Silverlight.Просто добавьте сервис в SilverlightApplication8.Web.Щелкните правой кнопкой мыши SilverlightApplication8.Web -> Добавить новый элемент -> Слева выберите Silverlight -> Служба WCF с поддержкой Silverlight.А затем добавьте ссылку на приложение SilverlightApplication8.

...