Open棟梁 wiki

戻る

目次

導入前の質問

複数画面対応のWebアプリケーションに対応しているか?

どのようなパターンでも対応可能です。また、ブラウザ・ウィンドウ別Session領域などの、複数画面対応のWebアプリケーション開発を支援する機能を活用できます。

クロス ブラウザに対応しているか?

IE6 / 7 / 8、Firefox、Safari、Google Chrome、Operaで動作確認を取っています。しかし、SP、新バージョンについてはチェックし切れていない所もあります。以下、クロス ブラウザに於ける既知の制限事項になります。

Internet系のシステムに於いて、Sessionタイムアウト時も処理を続行させたい。

Sessionタイムアウト検出機能と、Sessionを継続的に使用する必要のあるフレームワーク機能(下記参照)を全てOFFにすることで、Internet系システムの要件にも対応できます。

負荷分散クラスタに於いてフェイル オーバー後、業務続行可能か?

SQL Server、Oracle、いずれかのSessionモードを選択し、専用のSession状態保持用サーバを新設することでフェイル オーバー後、業務続行可能となります(Session状態保持用サーバは単一障害点となり得ますので、二重化できないStateServer?は選択肢から外しています)。StateServer?は同一サーバ内に立てることでサーバ メモリの有効活用やサーバ再起動時にも業務続行可能にすると言った信頼性向上に役立ちます。

マスタ ページの利用は必須か?

マスタ ページのネストをサポートしているか?

サポートしています。

以下のサンプルを動作させることによって
サポートされていることを確認可能です。

https://github.com/OpenTouryoProject/OpenTouryo/tree/develop/root/programs/C%23/Samples/WebApp_sample/ProjectX_sample/Aspx/testFxLayerP/nest

P層イベント処理機能

P層イベント処理機能の対応コントロールを追加したい。

今回は、P層イベント処理機能をキャンセルしたい。

configファイルに指定する、コントロール毎のプレフィックスを空に指定すれば、P層イベント処理機能をキャンセルできます。

P層イベント処理機能はWebユーザ コントロールをサポートしているか?

IEキーイベント抑止

Enterキーでのsubmit抑止

現行の実装については下記を参照下さい。

下記のように、ブラウザに寄って動作が異なるようなので、

コントロール毎にJavaScript?を記述した方が良いだろうという判断です(対策予定)。

トラブルシュート

ファイル・ダウンロード処理の問題

不正操作防止機能の誤検知

別ウィンドウ表示機能、ダイアログ表示機能

Sessionタイムアウト

ログイン画面でSessionタイムアウト例外が発生する。

予期せぬSessionタイムアウト例外が発生する

Sessionタイムアウト例外を発生させないようにSessionの解放を行うには、this.FxSessionAbandon()メソッドを使用して下さい。エラー画面でthis.FxSessionAbandon()メソッドが呼び出されています。

IFRAMEの更新後にIFRAME親画面の操作が出来なくなる。

以下の例外が発生する。

「System.ArgumentException?: 項目は既に追加されています。辞書のキー: 'SessionAbandonFlag?' 追加されるキー: 'SessionAbandonFlag?'」

SessionAbandonFlag?とは、

というものなので、エラー処理でエラーが発生して、エラーのループが発生している可能性が高いです。

エラー処理系のカスタマイズなどを行いましたでしょうか?

なお、ErrorScreen?.aspxは、MyBaseController?のベースクラスを継承したらダメです。

カスタムコントロール

サニタイジングの処理の実装方針?

グリッド(データバインドコントロール)内で使用できるラジオボタン

対応しています。以下を確認下さい。

https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/C%23/Frameworks/Infrastructure/CustomControl/Control/WebCustomRadioButton.cs#L190

カスタムコントロールにJavaScript?を仕込みたい。

方法 : ASP.NET Web サーバー コントロールにクライアント スクリプト イベントを追加する
https://msdn.microsoft.com/ja-jp/library/7ytf5t7k.aspx

上記を参考に、いくつか方法が考えられると思います。

その他

HTMLのタイトルは何処で指定しているか?

ベースクラス2のCMN_FormInit?メソッドで、this.Page.Titleに設定しています。必要に応じてカスタマイズ下さい。

リッチクライアント

リッチクライアントに対応しているか?

リッチクライアントに対応したP層フレームワークはWindows Formsのみのサポートとなります。

Windows FormsではP層イベント処理機能に対応させるコントロール・イベントが多くなり過ぎる。

ベースクラス2をカスタマイズする事でP層イベント処理機能に対応したコントロール・イベントの追加が可能ですが、カスタマイズ量が多くなるため、.NET標準のイベントハンドラから、隠しボタン(HiddenButton?) のDoClick?メソッドを使用し、Clickイベントを発生させることも可能です。また、この方法は、マルチプル・イベントやマルチキャスト・イベントに対応させる方法としても利用可能です。

Windows FormsのMenuItem?コントロールはP層イベント処理機能でサポートされているか?

サポートされています。コントロールの検索方法が他と異なるためベースクラス2をカスタマイズせず 画面のロード処理(UOC_FormInit?)でMenuItem?のClickイベントに共通Clickイベント ハンドラ(Item_Click)を設定します。なお、同じ要領で、ベースクラス2をカスタマイズせず、 画面のロード処理(UOC_FormInit?)で共通イベント ハンドラ(Item_Click)を直接登録する事でP層イベント処理機能に対応させる事ができます。


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS