Мое приложение silverlight не может вызвать службу WCF

#silverlight-3.0 #wcf

#silverlight-3.0 #wcf

Вопрос:

Я создал простое приложение silverlight, используя службу WCF.. Моя служба создана хорошо, и я также тестирую службу WCF с помощью wcftestclient, она работает нормально.. Я также даю ссылку на службу silverlight, но когда я запускаю приложение silverlight, я не могу получить результат.

вот код silverlight

     void getdatacs(object sender, ServiceReference1.GetDataCompletedEventArgs e)
    {
        MessageBox.Show(e.Result);
    }
    private void button1_Click(object sender, RoutedEventArgs e)
    {
        ServiceReference1.Service1Client cs = new ServiceReference1.Service1Client();
        cs.GetDataCompleted  = new EventHandler<ServiceReference1.GetDataCompletedEventArgs>(getdatacs);
        cs.GetDataAsync(Convert.ToInt32(textBox1.Text));
    }
  

и вот мой код WCF

     public string GetData(int value)
    {
        return string.Format("You entered: {0}", value);
    }
  

может ли какой-либо орган сказать мне, что я не могу получить результат.

Комментарии:

1. Вы получаете исключение?

2. нет. я запускаю приложение SL, оно просто ожидает, что ничего не произойдет, в нижней части браузера указано подключение к localhost…

3. Вы пробовали вызывать метод синхронно? Запущена ли служба, пока вы запускаете Silverlight?

4. да, вы правы. но вызов является асинхронным…

5. y я не могу получить никакого представления о результате…

Ответ №1:

Размещается ли служба отдельно от приложения SL? В этом случае вам может потребоваться добавить файл clientaccesspolicy. смотрите эту ссылку для получения подробной информации

Ответ №2:

Код выглядит корректно, поэтому я бы начал изучать конфигурацию службы WCF. Дважды проверьте все настройки в вашей ссылке на службу WCF. Я полагаю, что ваша проблема не в коде, а в другом месте. Попробуйте удалить входное значение int в службу WCF и отправить обратно любое значение в строке, чтобы исключить возможность каких-либо проблем с вводом, хотя все выглядит нормально.

Я сталкивался с подобными проблемами, и обычно оказывается, что это связано с конфигурацией службы WCF.

Комментарии:

1. Я просмотрел один из своих проектов, и у меня есть эта строка кода над строкой общедоступного класса в моей службе WCF [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode. Разрешено)]