从WCF获得响应后显示消息
本文关键字:显示 消息 响应 WCF | 更新日期: 2023-09-27 17:58:33
我正在构建一个用于推送通知的WCF应用程序,用户必须首先订阅自己,订阅后客户端才能从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);
}
但它也给了我一个错误"Object reference not set to a instance of a Object"什么时候进行
您应该看看这篇文章。这应该会有所帮助。它给出了一个订阅和推送更新的简单示例。
第条
根据我们的讨论。看来你的服务很好。我假设您正在适当地调用SendResult并传递消息。还有一件事你可以试试。。。这是来自Asp.net 的java脚本警报
Page.RegisterStartupScript("startScript", "<script language=JavaScript>Message("+message+" );</script>");
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "testmsg", "<script>alert('your message goes here');</script>");