0

XSocketsを使用しています。ここで、xsocketコントローラーの内部から、ユーザーデータにアクセスする必要があります。私はこれをやってみました:

public class SocialsController : XSocketController, Controller

しかし、それは許可されていません。SocialsController内のすべてのセッションデータにアクセスする方法はありますか?

4

1 に答える 1

2

サーバーはIISの外部で実行されているため、XSocketsでASP.NETセッションを使用することはできません。将来的にはできるかもしれませんが、現在のバージョンではできません。

XSocketsで作成するすべての接続には、接続したコントローラーの独自のインスタンスがあります。したがって、コントローラーには状態があり、通常のHTTP /ASP.NETMVCには状態がありません。そのためセッションが必要です。

では、XSocketsでページを更新/変更するとどうなりますか?コントローラが「停止」するため、状態が失われます...ただし、XSocketsには独自のSessionStorageがあるため、特定のクライアントのサーバーにデータを保存できます。このSessionStorageには、JavaScriptとC#の両方からアクセスできます。

Personオブジェクトを格納するC# の例ですが、何でもかまいません

//Save in storage (will be there even if you disconnect and then reconnect)
this.StorageSet("me",new Person{Name="Uffe", Age=35});
//Get from storage (casting to correct type).
var p = (Person)this.StorageGet("me");

JavaScript

//設定しますが、 http://xfiddle.net/XFiddle/でget、set、delete、getallを確認します

var myStorageObject = { Key: 'foo', Value: $("#storeValue").val() };
ws.trigger(XSockets.Events.storage.set, myStorageObject);

よろしくUffe

于 2013-03-24T16:27:01.433 に答える