問題タブ [session-state-provider]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1421 参照

asp.net - カスタム ASP.NET SessionStateProvider クラスから Session_OnStart イベントを発生させる

私は、社内で開発されたカスタム SessionStateProvider クラスを使用する asp.net プロジェクトに取り組んでいます。

明らかに、Session_OnStart イベントは発生していません。イベントを処理するコードが Global.asax にあります。このコードを実行するには、Web.config をデフォルトの SessionStateProvider を使用するように変更する必要があります。

カスタム SessionStateProvider クラスを使用しているときに、Session_OnStart コードを実行するにはどうすればよいですか? ソースコードにアクセスできます。

更新: MSDN では、通常、Session_OnStartセッション モードが InProc の場合にのみ起動することが明確に示されているため、これを希望どおりに配線するには、何か特別なことを行う必要があります。

web.config でのセッション状態の構成は次のようになります。

再度更新: 今朝、興味深いものを見つけました。クリスの答えを読んだ後、顧客だけを使用してみてSessionStateProvider、カスタムのコードを削除しましたSessionIDManager。これを行うと、すぐにSession_OnStartメソッドの実行を確認できました。問題は、私のカスタムにはカスタムSessionStateProvider が必要なことSessionIDManagerです。Session_OnStartイベントはどこから発生しますか? SessionIDManagerではなくに関係しているようSessionStateProviderです。

0 投票する
2 に答える
2106 参照

asp.net-mvc - AppFabric キャッシュを使用して MVC SessionState で WCF DataContract を使用する

データ アクセス層、サービス層、およびプレゼンテーション層があります。プレゼンテーション レイヤーは ASP.NET MVC2 RTM (Web) で、サービス レイヤーは WCF (サービス) です。すべて.NET 3.5 SP1です。

問題は、サービスで、返されるオブジェクトが[DataContract]属性でマークされていることです。Web は AppFabric キャッシュ (別名 Velocity) SessionStateProvider を使用してセッション状態を保存しています。このため、セッションに保存するものはすべてシリアライズ可能でなければなりません。

ここで問題が発生します: DataContracts はマークされておらず[Serializable]、私が覚えている限り、すでに[DataContract]いくつかの問題が発生しているクラスに導入することで発生するため、これが解決策であるとは思いません。

私は当初、Web レイヤーで DataContracts を使用することを計画していました。それらを DataContracts のレンダリングに関連するビューのモデルとして使用します (おそらく、より高いレベルの ViewModel クラス内にネストされます)。しかし、セッション状態プロバイダーは、内部に格納されているすべてのオブジェクトをシリアライズ可能にする必要があるため、この戦略を再考し始めています。ただし、インターフェイスを使用した検証ロジックが含まれてIDataErrorInfoおり、同じ検証ロジックをモデル バインディングの一部として MVC で再利用できるため、あると便利です。

必要な作業を減らすことができる最善の方法は何だと思いますか?

私は現在、次のさまざまな方法を考えています。

A. Web プロジェクトで「ServiceIntegration」パーツを作成します。

これは、コントローラーと WCF サービス層の間の仲介者になります。ServiceIntegration 部分は、DataContracts を使用してサービス層と通信し、ViewModels を使用して Web 層と通信しますが、双方向トランスフォーマーを使用して DataContracts と ViewModels の間で変換する必要があります。

また、IDataErrorInfo Validation は再利用できないため、Transformer を使用して ViewModel から DataContract に変換し、IDataErrorInfo を使用して検証を実行し、その結果を返す、DataContract ごとの Validator も作成する必要があります。これは、コントローラーのアクション メソッド内で使用されます (例: if (!MyValidator.IsValid(viewModel)) return View();)

必要なさまざまなクラス: xDataContract、xViewModel、xTransformer、xValidator

B. Web プロジェクトで「SessionIntegration」パーツを作成する

これは、コントローラー (またはセッションにアクセスするもの) とセッション自体の間の仲介者になります。セッションへのアクセスを必要とするものはすべて、このクラスを通過します。DataContracts は、セッションに格納されていない限り、アプリケーション全体で使用されます。SessionIntegration 部分は、DataContract を何らかの ISerializable 形式に変換し、元に戻す責任を負います。DataContract で IDataErrorInfo インターフェイスを使用するため、追加の Validator は必要ありません。

必要なさまざまなクラス: xDataContract、xTransformer、xSerializableForm


注: どちらのシナリオでも ViewModel は存在しますが、(B) を使用すると、DataContract から ViewModel を構成できます。

(B) 追加のバリデーターを必要としないという利点があります。


(A)/(B) を完全に実装する前に、フィードバックをお願いします。現時点では(B)に傾き始めていますが、(A)の方が柔軟かもしれません。いずれにせよ、その価値に対してあまりにも多くの作業が行われているようです。他の誰かがこの問題に遭遇しましたか、私に同意/反対しますか、そして/または問題を解決する他の方法はありますか?

ありがとう、

ジェームズ

0 投票する
1 に答える
690 参照

html - Ext Jsの状態のサンプルは提供しますか?

特にHTML5ストレージメカニズムを使用する場合は、ExtJSプロバイダーのサンプルを教えてもらえますか。

ありがとう。

0 投票する
2 に答える
1218 参照

asp.net - カスタム セッション状態プロバイダーの初期化中のオブジェクト参照エラー

デバッグ モードで正常に動作するカスタム セッション状態プロバイダーを作成しましたが、サーバー (IIS 6) に展開すると、次のエラーが発生します。

EDIT 行 282 は web.config からのもので、プロバイダー情報が含まれています。3 行目は下にあります。

0 投票する
2 に答える
5814 参照

asp.net-mvc - ASP.NET MVC でのカスタム セッション状態プロバイダーの実装

ASP.NET MVC アプリケーション用のカスタム セッション状態プロバイダーの実装に取り​​組んでいます。私の要件は、セッション データをxmlSQL サーバーのカスタム テーブルに保存することです。

既存のsql セッション状態プロバイダー(いくつかのメソッドをオーバーライドする) を使用できますか、または抽象クラスを実装してゼロから作成する必要がありますSessionStateStoreProviderBaseか?

0 投票する
1 に答える
1764 参照

session - C# セッション状態のカスタム。セッションは期限切れになりません

MVC3 アプリケーションと MySQL 永続 DB セッションに問題があります。

問題は、セッションが期限切れにならないことです。

  • ResetItemTimeout メソッドは GetItemExclusive の前に呼び出されます
  • GetItemExclusive メソッドは、有効期限フィールドが現在よりも小さいかどうかをチェックします。
  • これは、web.config で指定された分数を追加して有効期限を更新するこのメソッドが原因で発生することはありません。

私のweb.configは次のとおりです。

セッション状態の場合:

フォーム承認の場合:

問題は、セッションが期限切れにならないことです。次のページ (http://msdn.microsoft.com/en-us/library/ms178589%28v=vs.80%) の次のコードを使用しています (MySql 接続を使用しているという変更のみ)。 29.aspx)

誰かが私を助けることができますか?.

ご回答誠にありがとうございました。

ファン

0 投票する
1 に答える
1011 参照

asp.net - Application_Startでセッション状態プロバイダーを設定する方法

web.configではなくコードでセッション状態プロバイダーを設定する機能が必要です。Application_Startにコードを追加してみました

ただし、問題は、セッションがカスタムではなくInProcモードに戻っていることです。コードでプロバイダーを宣言する方法はありますか?

0 投票する
1 に答える
135 参照

angularjs - 親で抽象を使用せずに(名前付きビューを使用して)ネストされた状態を実現する方法

私はナビゲーションページを構築しようとしているAngularに本当に慣れていません。定義された構造は次のとおりです。 main-page1.html に移動するメイン ページにボタンがあります。 main-page1.html には 4 つのタブがあるメニュー バーが含まれています。main-page1.js には、モジュールと状態 (親状態) があります。4 つのタブはすべて tabs.js ファイルにあり、モジュールと 4 つの状態 (それぞれ異なる状態) があります。Tab1 はデフォルトのタブで、親 URL にリンクされています

問題 : 親状態で abstract: true を使用することを想定していません。そのため、main-page.html に到達すると、Tab1 のコンテンツがレンダリングされません。ただし、タブを1、2回クリックした場合にのみレンダリングされます。これはabstract:trueで機能しますが、残念ながら、何らかの理由で親状態でabstractを使用できません。これに対する回避策はありますか?

0 投票する
3 に答える
1124 参照

c# - ASP.NET MVC の DynamoDB セッション状態

新しい ASP.NET MVC 5 プロジェクトを作成しました。Nuget を介して AWS SDK for .NET および Session Provider をインストールしました。Amazon でこの記事を読みました

この構成は Web.Config にあります

IIS Expressを使用して Web アプリを実行すると、すべて正常に動作します (ログインおよびログオフできます) が、DynamoDB にアクセスすると、テーブル ASP.NET_SessionState に項目がありません。

カスタム状態プロバイダーが無視されるように機能しています...

私は何を間違っていますか?

ありがとう!!