Отображать сообщения после получения ответа от WCF

Я создаю приложение WCF для push-уведомлений, где пользователь должен сначала подписаться сам, а после подписки клиент получит ответ от WCF.

я использую wsDualHttpBinding в качестве привязки и обратного вызова в WCF.

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

Теперь мой вопрос заключается в том, как отображать сообщения, когда клиент получает ответ от WCF.

Мой клиентский код на aspx.cs:

public void SendResult(string message)//I got message = "Test String"
{
   Response.Write(message);// it throw error "Response is not available in this context."
// I also use this code 

HttpContext.Current.Response.Write(message); // but it also give error "Object reference not set to an instance of an object."

}

Это очень важный вопрос, и я должен просто отобразить сообщение

Любая помощь будет оценена.

Изменить 1

Вызов метода службы

  protected void Page_Load(object sender, EventArgs e)
  {
        SocialProfilesService.SocialClient client = 
               new SocialProfilesService.SocialClient(new InstanceContext(this)); 
        client.Subscribe(userid)
  } 

Редактировать 2

я тоже пробовал

 SynchronizationContext uiSyncContext;
 uiSyncContext = SynchronizationContext.Current;
 public void SendResult(string message)//I got message = "Test String"
 {
   SendOrPostCallback callback = delegate(object state)
    {
        Response.Write(message);
    };
    uiSyncContext.Post(callback, message);
 }

но это также дает мне ошибку «Ссылка на объект не указывает на экземпляр объекта». Что делать


person ankit Gupta    schedule 11.02.2013    source источник
comment
Можете ли вы показать, как вызывается метод службы?   -  person Tabish Sarwar    schedule 11.02.2013
comment
Обратитесь к ссылке в моем ответе ниже.   -  person Tabish Sarwar    schedule 11.02.2013
comment
Я уже видел эту статью. я готовлю свою службу в соответствии с этой статьей. но отметив найти подходящие для отображения сообщений в Интернете.   -  person ankit Gupta    schedule 11.02.2013
comment
Дело в том, что вы можете получить что-нибудь или какую-то ошибку? Как вы убедились, что ваш подписчик работает нормально. Я не могу понять, здесь проблема с сервисом или просто с отображением сообщения?   -  person Tabish Sarwar    schedule 11.02.2013
comment
@Tabish: Сервис работает нормально. Проблема заключается в том, чтобы просто отображать сообщения в Интернете. Я также получаю ответ, но не могу его показать.   -  person ankit Gupta    schedule 11.02.2013
comment
Смотрите мое редактирование ниже в моем ответе.   -  person Tabish Sarwar    schedule 11.02.2013
comment
@TabishSarwar: Извините! Это тоже я использовал раньше, но не работает в моей ситуации.   -  person ankit Gupta    schedule 11.02.2013
comment
Почему вы используете void, если хотите вернуть сообщение? вы можете использовать поток, который будет возвращен.   -  person Dev    schedule 11.02.2013
comment
@Dev: нам нужно просто отобразить данные. ничего не возвращать.   -  person ankit Gupta    schedule 11.02.2013
comment
@ankitGupta как угодно! если вы не вернете его, как он будет отображаться клиенту?   -  person Dev    schedule 11.02.2013
comment
@Dev: эта функция вызывается WCF, и мне не нужно возвращать тип. я принимаю параметры, и я хочу просто отобразить сообщение.   -  person ankit Gupta    schedule 11.02.2013
comment
@ankitGupta Вы хотите сказать, что хотите отобразить сообщение, пришедшее от клиента на страницу сервера?   -  person Dev    schedule 11.02.2013
comment
@Dev: Да, Дев, теперь ты понял. моя служба работает нормально и успешно отправляет сообщения клиенту. теперь как отобразить.   -  person ankit Gupta    schedule 11.02.2013
comment
@ankitGupta Это довольно сложная задача: вы можете сохранить сообщение от клиента в базе данных, в то время как клиент вызывает службу, а затем при загрузке страницы просто отображает его. Прямое отображение сообщения в Page Load затруднено.   -  person Dev    schedule 11.02.2013
comment
@Dev: Если у тебя есть другой вариант, скажи мне.   -  person ankit Gupta    schedule 11.02.2013


Ответы (1)


Вы должны посмотреть на эту статью. Это должно помочь. Это дает хороший простой пример подписки и отправки обновлений.

Статья

Согласно нашему обсуждению. Кажется, ваш сервис работает нормально. Я предполагаю, что вы правильно вызываете SendResult и передаете сообщение. Вот еще одна вещь, которую вы можете попробовать... Это оповещение java-скрипта от Asp.net.

    Page.RegisterStartupScript("startScript", "<script language=JavaScript>Message("+message+" );</script>");

    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "testmsg", "<script>alert('your message goes here');</script>");
person Tabish Sarwar    schedule 11.02.2013