0

だから私はこれをしました:

 public string  getClientConnectionId()
{
    return Context.ConnectionId;
}

サーバー側にdefault.aspxページがあります。ページの読み込み時にこれを行いました

string i = new ChatHub().getClientConnectionId();

しかし、オブジェクトエラーのインスタンスに設定されていないオブジェクト参照を取得します。クライアント接続IDを取得して、データベースのデータベースに保存できるようにする必要があります。クライアントには、自動生成される主キーIDとChatIdの2つのIDがあります。接続IDである必要があるので、どうすれば問題を解決できますか?

4

1 に答える 1

2

WebForms を使用していて、コード ビハインドを含む aspx ページがある場合、new MyPage().Page_Load() を実行することはできません。ページの作成に責任がないため、何らかの方法で爆発します。これは、MVC コントローラーと SignalR ハブ、および永続的な接続についても同じです。

接続クライアント側を開始すると、接続 ID を取得するために完全なパイプラインが実行されます。この接続 ID はクライアント側で利用できます (この場合は $.connection.hub.id を使用)。それを何らかの方法でページに戻したい場合は、ページにリクエストを送信する必要があります。クライアントからの接続 ID。

クライアントが接続するときにハブ自体でマッピングを行うこともできますが、それが可能かどうかを知るには、アプリケーションに関するより多くの知識が必要になります。

于 2013-03-03T19:41:37.430 に答える