Asp.Net Ajax Control с использованием службы WCF с CallbackContract - PullRequest
0 голосов
/ 03 августа 2010

Можно ли использовать WCF CallbackContract или любой другой механизм "удаленного обработки событий", предоставляемый WCF с элемента управления / страницы Ajax Asp.Net?

Пока что все статьи, которые я нашел, рассматриваются отдельно о CallbackContracts и WCF.использование со страниц Asp.Net.Есть ли способ заставить обратный вызов службы вернуться на страницу, которая инициировала звонок?

Заранее большое спасибо.

1 Ответ

1 голос
/ 03 августа 2010

Да, конечно.Если вы хотите просто вызвать службу wcf с обратным вызовом (дуплекс), вы можете сделать это как обычно в методе сценария.

Редактировать: я не знаю, что вам нужно делать с Ajax, но, предположим,что вы хотите предложить пользователю заполнить текстовое поле с помощью AutoCompleteExtender, используя данные, поступающие из службы WCF, вы должны предоставить ScriptMethod.Внутри вы можете вызывать службу обычным способом, как описано в MSDN

[WebMethod, ScriptMethod]
public static string[] GetSuggestedItems(string prefixText, int count)
{
  // Construct InstanceContext to handle messages on callback interface
  InstanceContext instanceContext = new InstanceContext(new MyCallbackHandler());

  // Create a client
  MyDuplexClient client = new MyDuplexClient(instanceContext);

  return client.GetModelItems(prefixText).GetRange(0, count);
}

, как только вы определили обработчик обратного вызова:

public class MyCallbackHandler : IMyCallbackContract
{
  ....
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...