Silverlight вызывает WCF - PullRequest
       5

Silverlight вызывает WCF

1 голос
/ 04 января 2011

Я новичок в Silverlight, просто хотел знать, являются ли шаги, связанные с вызовом службы WCF, такими же, как в Silverlight, как это было в asp, или есть какая-то разница. Если есть какая-либо разница, тогда попросите вас помочь мне.

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 04 января 2011

Я получил ответ, есть небольшая разница между осиной и серебристым светом. В Silverlight все сервисные вызовы являются асинхронными, поэтому у вас должен быть обработчик событий, чтобы по завершении асинхронного вызова вы получили ваши данные.

Просто маленький, например,

Когда вы звоните в службу WCF из asp, вы используете

proxy_http.FunctionClient fc = new proxy_http.FunctionClient();
        txtDisplay.Text = fc.Add(Convert.ToInt32(txtFirst.Text),Convert.ToInt32(txtSecond.Text)).ToString();

в случае Silverlight вы будете использовать

private void Add_Click(object sender, RoutedEventArgs e)
    {
        proxy_htt.FunctionClient fc = new proxy_htt.FunctionClient();
        fc.AddCompleted += new EventHandler<proxy_htt.AddCompletedEventArgs>(fc_AddCompleted); 
        fc.AddAsync(Convert.ToInt32(txtFirst.Text),Convert.ToInt32(txtSecond.Text));

    }

    void fc_AddCompleted(object sender, proxy_htt.AddCompletedEventArgs e)
    {
        txtResult.Text = e.Result.ToString();
    }
1 голос
/ 04 января 2011

Основные вещи, о которых вам нужно знать:

  1. Silverlight поддерживают только basichttpbinding
  2. , вам необходимо иметь файл clientaccesspolicy.xml или crossdomain.xml в корневой папке хоста wcfсервер, то только вы можете успешно вызвать веб-сервис из silerlight

http://msdn.microsoft.com/en-us/library/cc197955%28v=vs.95%29.aspx

...