XSocketsを使用しています。ここで、xsocketコントローラーの内部から、ユーザーデータにアクセスする必要があります。私はこれをやってみました:
public class SocialsController : XSocketController, Controller
しかし、それは許可されていません。SocialsController内のすべてのセッションデータにアクセスする方法はありますか?
XSocketsを使用しています。ここで、xsocketコントローラーの内部から、ユーザーデータにアクセスする必要があります。私はこれをやってみました:
public class SocialsController : XSocketController, Controller
しかし、それは許可されていません。SocialsController内のすべてのセッションデータにアクセスする方法はありますか?
サーバーは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