我正在构建一个用于推送通知的 WCF 应用程序,其中用户必须先订阅自己,然后订阅客户端从 WCF 获得响应。
我在 WCF 中使用 wsDualHttpBinding 作为绑定和回调。
我不想从客户端调用递归函数。我在 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);
}
但它也给了我错误“对象引用未设置为对象的实例”。做什么