「Open棟梁 wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。 目次 †導入前の質問 †複数画面対応のWebアプリケーションに対応しているか? †どのようなパターンでも対応可能です。また、ブラウザ・ウィンドウ別Session領域などの、複数画面対応のWebアプリケーション開発を支援する機能を活用できます。 クロス ブラウザに対応しているか? †IE6 / 7 / 8、Firefox、Safari、Google Chrome、Operaで動作確認を取っています。しかし、SP、新バージョンについてはチェックし切れていない所もあります。以下、クロス ブラウザに於ける既知の制限事項になります。
インターネット系のシステムに於いて、Sessionタイムアウト時も処理を続行させたい。 †Sessionの要件 †
Session無効化 †ASP.NET Web Forms用 P層フレームワークで、
を全てOFFにすることで、インターネット系システムの要件にも対応できます。 ※ Sessionステートレスにできるが、一時利用があるので、 負荷分散クラスタに於いてフェイル オーバー後、業務続行可能か? †SQL Server、Oracle、いずれかのSessionモードを選択し、専用のSession状態保持用サーバを新設することでフェイル オーバー後、業務続行可能となります(Session状態保持用サーバは単一障害点となり得ますので、二重化できないStateServer?は選択肢から外しています)。StateServer?は同一サーバ内に立てることでサーバ メモリの有効活用やサーバ再起動時にも業務続行可能にすると言った信頼性向上に役立ちます。 マスタ ページの利用は必須か? †
マスタ ページのネストをサポートしているか? †サポートしています。 以下のサンプルを動作させることによって
P層イベント処理機能 †P層イベント処理機能の対応コントロールを追加したい。 †
動的に生成したコントロールにイベント ハンドラを設定する。 †
今回は、P層イベント処理機能をキャンセルしたい。 †configファイルに指定する、コントロール毎のプレフィックスを空に指定すれば、P層イベント処理機能をキャンセルできます。 P層イベント処理機能はユーザ コントロールをサポートしているか? †
IEキーイベント抑止 †Enterキーでのsubmit抑止 †現行の実装については下記を参照下さい。
下記のように、ブラウザに寄って動作が異なるようなので、
コントロール毎にJavaScript?を記述した方が良いだろうという判断です(対策予定)。
トラブルシュート †ファイル・ダウンロード処理の問題 †不正操作防止機能の誤検知 †別ウィンドウ表示機能、ダイアログ表示機能 †Sessionタイムアウト †ログイン画面でSessionタイムアウト例外が発生する。 †
予期せぬSessionタイムアウト例外が発生する †Sessionタイムアウト例外を発生させないようにSessionの解放を行うには、this.FxSessionAbandon()メソッドを使用して下さい。エラー画面でthis.FxSessionAbandon()メソッドが呼び出されています。 IFRAMEの更新後にIFRAME親画面の操作が出来なくなる。 †
以下の例外が発生する。 †「System.ArgumentException?: 項目は既に追加されています。辞書のキー: 'SessionAbandonFlag?' 追加されるキー: 'SessionAbandonFlag?'」 SessionAbandonFlag?とは、
というものなので、エラー処理でエラーが発生して、エラーのループが発生している可能性が高いです。 エラー処理系のカスタマイズなどを行いましたでしょうか?
なお、ErrorScreen?.aspxは、MyBaseController?のベースクラスを継承したらダメです。 カスタムコントロール †XSS対策の実装方針 †グリッド(データバインドコントロール)内で使用できるラジオボタン †対応しています。以下を確認下さい。 カスタムコントロールにJavaScript?を仕込みたい。 †方法 : ASP.NET Web サーバー コントロールにクライアント スクリプト イベントを追加する 上記を参考に、いくつか方法が考えられると思います。
その他 †HTMLのタイトルは何処で指定しているか? †ベースクラス2のCMN_FormInit?メソッドで、this.Page.Titleに設定しています。必要に応じてカスタマイズ下さい。 リッチクライアント †リッチクライアントに対応しているか? †リッチクライアントに対応したP層フレームワークはWindows Formsのみのサポートとなります。 Windows FormsではP層イベント処理機能に対応させるコントロール・イベントが多くなり過ぎる。 †
Windows FormsのMenuItem?コントロールはP層イベント処理機能でサポートされているか? †サポートされています。コントロールの検索方法が他と異なるためベースクラス2をカスタマイズせず 画面のロード処理(UOC_FormInit?)でMenuItem?のClickイベントに共通Clickイベント ハンドラ(Item_Click)を設定します。なお、同じ要領で、ベースクラス2をカスタマイズせず、 画面のロード処理(UOC_FormInit?)で共通イベント ハンドラ(Item_Click)を直接登録する事でP層イベント処理機能に対応させる事ができます。 参考 †
|