我有以下问题:
我必须实现一种聊天应用程序。因此我使用 ASP.NET 4.5 和 WCF。当我开始点击我想与之聊天的人时,我调用了一个 wcf 网络服务。这个网络服务从我点击它的人那里调用 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 为空
- 我无法调用我的 UpdatePanel.Update
我不知道如何简单地打开一个弹出窗口/对话框......我可以使用错误的模式吗?