#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. Разрешено)]