在WCF回调后打开aspx页面

时间:2012-12-17 16:59:08

标签: asp.net wcf callback popup

我遇到以下问题:

我必须实现一种聊天应用程序。因此我使用ASP.NET 4.5和WCF。当我开始点击我想聊天的人时,我打电话给wcf webservice。这个web服务从我点击它的人那里调用wcf回调。我现在的问题是,我在客户端调用了该事件,但我无法打开一个新的ChatWindow。

[CallbackBehavior(UseSynchronizationContext = false, ConcurrencyMode = ConcurrencyMode.Single)]
public class ChatContext : IChatClient, INotifyPropertyChanged
{
    #region Events

    public event EventHandler StartChat;

    #endregion


    public void FollowChatBegin(Person invitee)
    {
        StartChat(invitee, new EventArgs());
    }

我已在主页中注册了StartChat事件:

 public partial class MainPage: System.Web.UI.Page
{       

    protected void Page_Load(object sender, EventArgs e)
    {
       // ...

        Global.ChatContext.StartChat += ChatContextOnStartChat;
    }

 private void ChatContextOnStartChat(object sender, EventArgs eventArgs)
    {
        var person= (Person) sender;

        string path = this.Request.Url.AbsoluteUri.Remove(this.Request.Url.AbsoluteUri.IndexOf(Request.Url.LocalPath, Request.Url.LocalPath.Length));
        path += "/Controls/Chat/ChatWindow.aspx";

        string parameters = "did=" + person.Id + "height=700px,width=800px,resizeable=yes,status=no";
        path += parameters;

        ScriptManager.RegisterStartupScript(this, this.GetType(), "openChartWindow", "window.open('" + path + "');", true);

        this.upMain.Update();
    }

}

ChatContextOnStartChat给了我以下问题:

  • this.Request为null
  • 我无法调用我的UpdatePanel.Update

我不知道如何简单地打开弹出/对话框...我可以使用错误的模式吗?

0 个答案:

没有答案