書籍情報

Microsoft Visual Studio 2005による
Webアプリケーション構築技法

ASP.NET 2.0上での参照系・更新系アプリケーションの設計

 
著者 赤間 信幸
判型 B5変型
ページ数 416p
出版会社 日経BPソフトプレス
ISBN 4-89100-515-7
価格

¥3,990(税込み)

マイクロソフトプレスの書籍紹介ページへ
日経BPソフトプレスの書籍紹介ページへ


第7章 7.6 データコンポーネント機能によるデータアクセスコンポーネントの開発 - 2006/05/09 公開
第10章 3階層型自動データバインド - 2006/05/23 公開

 
書籍目次

はじめに
「.NET エンタープライズWebアプリケーション開発技術大全」シリーズと本書の関係
想定する読者のレベル
本書に関するご意見・ご感想などについて

第1部 ASP.NET 2.0基礎

第1章 ASP.NETランタイムとWeb UIコントロールツリー

 1.1 Webアプリケーションの基本的な動作メカニズム
 1.2 Visual Web Developer 2005によるASP.NET アプリケーション開発
  1.2.1 ASP.NET Webページの作成
  1.2.2 ASP.NET Webページの動作
  1.2.3 ここまでのまとめ
 1.3 ASP.NETランタイムの基本動作
  1.3.1 .aspxプログラムファイルのコード変換とコンパイル
  1.3.2 Web UIコントロールツリーの構築
  1.3.3 イベント処理
 1.4 ASP.NETのプログラミングの基本
  1.4.1 HTMLデザインブロックにおけるWeb UIコントロールツリーの作成方法
  1.4.2 ASP.NET処理ブロックにおけるWeb UIコントロールツリーの操作方法
 1.5 ASP.NETランタイムとWeb UIコントロールツリーのまとめ

第2章 コードビハインド
 2.1 コードビハインド概要
 2.2 コードビハインドを利用した開発の進め方
  2.2.1 Web UIコントロールツリーの作成
  2.2.2 コードビハインドへのプログラムロジックの追加
 2.3 コードビハインドの動作原理
  2.3.1 .aspxファイルのコード変換時の継承パス
  2.3.2 継承関係の指定
  2.3.3 コードビハインド側のクラスのpartial指定に関する注意点
 2.4 コードビハインドのまとめ

第3章 ポストバックとViewState
 3.1 ポストバック概要
 3.2 簡単なポストバックアプリケーションの作成
  3.2.1 Visual Web Developerによるビジュアルデザイン開発
  3.2.2 様々なイベントハンドラの記述方法
  3.2.3 ポストバック処理の動作の流れ
  3.2.4 イベントハンドラの削除方法
  3.2.5 ここまでのまとめ
 3.3 ポストバックの内部動作
  3.3.1 ページインスタンスの破棄と再生成動作
  3.3.2 ViewState を用いたイベント処理
 3.4 ポストバック利用時の注意点
  3.4.1 Page_Loadイベントハンドラの呼び出し
  3.4.2 ポストバックを利用する際の画面更新ロジックの記述方法
  3.4.3 イベントハンドリングの制限事項
 3.5 ポストバックとViewStateのまとめ

第4章 画面遷移と状態管理
 4.1 ASP.NET アプリケーションにおける画面遷移
  4.1.1 Response.Redirect 命令の使い方
  4.1.2 HTTP通信レベルでの挙動
 4.2 画面遷移時とポストバック時における状態管理の必要性
 4.3 Session オブジェクトによるデータ保存
  4.3.1 コーディング方法
  4.3.2 セッションクッキー
  4.3.3 Session オブジェクトによるデータ保存の特徴
  4.3.4 Session オブジェクトを利用する際の注意点
  4.3.5 Session オブジェクト内のデータチェック方法
 4.4 ViewState オブジェクトによるデータ保存
  4.4.1 ASP.NET における状態保存の分類
  4.4.2 コーディング方法
  4.4.3 ViewState オブジェクトに格納したデータの内部挙動
  4.4.4 ViewState オブジェクトとSessionオブジェクトの使い分け
  4.4.5 ViewStateオブジェクトを利用する際の注意点
  4.4.6 ViewStateオブジェクトを利用したページ処理状態の保存方法
 4.5 画面遷移と状態保存のまとめ

第5章 入力検証コントロール
 5.1 ユーザー入力値の検証の目的
  5.1.1 アプリケーションやシステムの保護を目的としたユーザー入力値の検証
  5.1.2 ユーザビリティの向上を目的としたユーザー入力値の検証
 5.2 検証コントロール
  5.2.1 検証コントロールの特徴
  5.2.2 検証コントロールの基本的な利用方法
  5.2.3 検証コントロールに対するチェック条件の指定方法
 5.3 サマリ表示機能
  5.3.1 検証コントロールとサマリ表示コントロールの配置場所
  5.3.2 検証コントロールが持つ2つのプロパティの使い分け
 5.4 一括結果チェック機能
  5.4.1 入力検証コントロールとDHTMLコード
  5.4.2 入力検証コントロールによる二重チェック
 5.5 検証コントロールを使いこなす際の4 つのポイント
  5.5.1 検証コントロールのエラーメッセージ
  5.5.2 未入力状態に対する振る舞い
  5.5.3 検証対象となるコントロール
  5.5.4 エラーメッセージ設計
 5.6 ASP.NET入力値検証に関する制限事項と注意事項
  5.6.1 ASP.NET入力値検証機能のカバー範囲
  5.6.2 検証コントロールの表示位置に関する注意
  5.6.3 変更系イベントハンドラにおけるIsValidプロパティの呼び出し
  5.6.4 同一ページ上の複数のデータ入力フォームの取り扱い
 5.7 入力検証コントロールのまとめ

第6章 デバッグ、トレース、例外処理
 6.1 デバッグ、トレース、例外処理の相違点
 6.2 デバッグ
  6.2.1 Visual Web Developerの持つ主なデバッグ機能
  6.2.2 デバッグ機能の使い方
 6.3 トレース機能
  6.3.1 トレース機能の概要
  6.3.2 トレース機能の有効化
  6.3.3 アプリケーションレベルトレース
  6.3.4 Diagnosticsトレース統合
  6.3.5 利用上の注意点
 6.4 例外処理
  6.4.1 .NETアプリケーションにおける例外
  6.4.2 .NETアプリケーションにおける例外ハンドリングの注意点
  6.4.3 デフォルトエラーページの表示機能
  6.4.4 カスタムエラーページへの差し替え機能
  6.4.5 集約エラーハンドラ
 6.5 開発時と運用時における各種機能の使い分け
 6.6 デバッグ、トレース、例外処理のまとめ

第2部 データバインドによる参照系アプリケーションの開発

第7章 ADO.NETによるデータアクセス
 7.1 ADO.NET概要
  7.1.1 データベースの種類による分類
  7.1.2 データベースとの接続形態による分類
 7.2 接続型データアクセス
  7.2.1 接続型データアクセスの概念
  7.2.2 基本的なコーディング例(参照処理)
  7.2.3 基本的なコーディング例(単一集計値の読み取り)
  7.2.4 基本的なコーディング例(更新処理)
  7.2.5 パラメタライズドクエリの利用
  7.2.6 接続型データアクセスに関する注意点
  7.2.7 接続型データアクセスにおける例外処理コード
 7.3 非接続型データアクセス
  7.3.1 非接続型データアクセスの概念
  7.3.2 基本的なコーディング例参照処理)
  7.3.3 基本的なコーディング例(更新処理)
 7.4 接続型データアクセスと非接続型データアクセスの使い分けの基本指針
 7.5 データベースファイルアタッチ機能
  7.5.1 SQL Server 2005のデータベースファイル
  7.5.2 データベースファイルのアタッチとデタッチ
  7.5.3 SQL Server 2005データベースファイルアタッチ機能
  7.5.4 内部動作とSQL Server 2005 Express Editionの役割
  7.5.5 サンプルデータベースの作業手順
 7.6 データコンポーネント機能によるデータアクセスコンポーネントの開発
  7.6.1 データコンポーネント機能の概要
  7.6.2 データコンポーネント機能の利用手順
  7.6.3 データコンポーネントの拡張
  7.6.4 接続文字列の管理
 7.7 データアクセスにおける短時間トランザクション制御方式
  7.7.1 代表的な3つの短時間トランザクション制御方式
  7.7.2 マニュアルトランザクション制御方式
  7.7.3 自動トランザクション制御方式
  7.7.4 自動トランザクションとデータコンポーネントの組み合わせ
  7.7.5 自動トランザクションの内部動作に関する注意点
 7.8 ADO.NETによるデータアクセスのまとめ

第8章 ASP.NET 2.0データバインド概要
 8.1 データバインドの分類
 8.2 コレクションデータバインド概要
 8.3 データバウンドコントロールの種類
  8.3.1 リスト構造型データバインド
  8.3.2 テーブル構造型データバインド
  8.3.3 階層構造型データバインド
 8.4 本書での解説手順
 8.5 ASP.NET 2.0データバインド概要のまとめ

第9章 2階層型自動データバインド
 9.1 データバウンドコントロールとデータソースコントロール
  9.1.1 データバインドを行うために必要な2つの部品
  9.1.2 2階層型自動データバインドの開発手順
 9.2 リスト構造型データバインドの利用方法
  9.2.1 リスト構造型データバインドの実装手順
  9.2.2 表示列と値列
  9.2.3 既存アイテムへの追加機能
  9.2.4 2階層型自動データバインドの内部挙動
 9.3 GridView コントロールの利用方法
  9.3.1 列のカスタマイズ
  9.3.2 ページング
  9.3.3 ソート
  9.3.4 フィルタリング
  9.3.5 行選択に伴うイベントハンドラ実装
 9.4 DetailsViewコントロールとFormViewコントロールの利用方法
  9.4.1 DetailsViewコントロールの利用方法
  9.4.2 FormViewコントロールの利用方法
  9.4.3 DetailsViewコントロールとFormViewコントロールの内部動作
  9.4.4 実際のアプリケーションにおける利用方法
 9.5 2階層型自動データバインドのまとめ

第10章 3階層型自動データバインド
 10.1 2階層型自動データバインドの限界
 10.2 ObjectDataSourceを用いたデータバインド
  10.2.1 ObjectDataSourceオブジェクトを利用したデータバインド
  10.2.2 ObjectDataSourceオブジェクトからのテーブルアダプタの呼び出し
  10.2.3 特殊クエリの実装方法
  10.2.4 データコンポーネント機能とObjectDataSourceオブジェクトを組み合わせた実装例
 10.3 ObjectDataSource オブジェクトを用いた大量データのページング制御
  10.3.1 データアクセスコンポーネント側の準備
  10.3.2 ObjectDataSourceオブジェクトとの連結
  10.3.3 より効率的な実装方法
  10.3.4 3階層型自動データバインドのまとめ

第3部 トランザクション制御を用いた更新系アプリケーション開発

第11章 対話型トランザクション処理の設計パターン
 11.1 長時間に渡る排他制御トランザクション処理)の必要性
  11.1.1 典型的な対話型トランザクションの例1
  11.1.2 典型的な対話型トランザクションの例2
 11.2 対話型トランザクション処理の3つの設計パターン
  11.2.1 後勝ちルール
  11.2.2 業務排他制御
  11.2.3 楽観同時実行制御
 11.3 対話型トランザクション処理の3つの設計パターンの比較
 11.4 対話型トランザクション処理の設計パターンのまとめ

第12章 業務排他制御による対話型トランザクション処理の開発
 12.1 業務排他制御の概要
 12.2 業務排他制御の基本処理フロー
 12.3 業務排他制御を設計する際の注意点
  12.3.1 業務排他状態のチェック
  12.3.2 排他状態への遷移条件
  12.3.3 異常フロー時の排他状態の取り扱い方
 12.4 業務排他制御における異常フローの設計のポイント
  12.4.1 タイムアウトした排他状態の取り扱い
  12.4.2 クライアントアプリケーションの再起動
  12.4.3 タイムアウトした排他状態の巻き戻し方
 12.5 業務排他制御の設計のまとめ方
 12.6 業務排他制御の実装方法
  12.6.1 テーブルスキーマの変更
  12.6.2 UI設計
  12.6.3 テーブルアダプタの作成
  12.6.4 イベントハンドラの実装
  12.6.5 トランザクションシーケンス
 12.7 業務排他制御による対話型トランザクション処理の開発のまとめ

第13章 楽観同時実行制御による対話型トランザクション処理の開発
 13.1 楽観同時実行制御の概要
 13.2 楽観同時実行制御の基本処理フロー
 13.3 楽観同時実行制御によるデータ更新の具体例
 13.4 他ユーザーによるデータ変更の検出方法
 13.5 非接続型データアクセスによるデータ更新処理
  13.5.1 非接続型データアクセスによるデータの書き戻しの概要
  13.5.2 DataSetオブジェクトによる更新内容の溜め込み機能
  13.5.3 SqlDataAdapterオブジェクトによるデータ書き戻し機能
  13.5.4 非接続型データアクセス方式によるデータ更新の制限事項
 13.6 データコンポーネント機能を利用した楽観同時実行制御
  13.6.1 テーブルアダプタ構成ウィザードを用いた更新クエリの自動生成機能
  13.6.2 テーブルアダプタ構成ウィザードにて指定できるオプション
  13.6.3 データ変更の検出精度
 13.7 楽観同時実行制御の実装方法
  13.7.1 UI設計
  13.7.2 テーブルアダプタの作成
  13.7.3 イベントハンドラの実装
 13.8 楽観同時実行制御による対話型トランザクション処理の開発のまとめ

本書のまとめ

付録A 基本的なデータ操作
 A.1 .NET Frameworkで利用できるデータ型
  A.1.1 基本データ型の一覧
  A.1.2 定数表現
  A.1.3 数値型の使い分け
  A.1.4 日時型と時間型の使い分け
  A.1.5 VBを利用する場合の暗黙型変換の無効化
 A.2 基本データ型の操作
  A.2.1 書式設定(Formatting)
  A.2.2 文字列解析(Parsing)
  A.2.3 データ型間相互変換(Conversion)
 A.3 文字列の取り扱い
  A.3.1 代表的な文字列操作
  A.3.2 文字列の内部形式
  A.3.3 文字列の比較
 A.4 コレクションクラス
  A.4.1 静的配列
  A.4.2 動的配列
  A.4.3 ハッシュテーブル
  A.4.4 ソートリスト
  A.4.5 スタックとキュー
 A.5 基本的なデータ操作のまとめ

付録B Visual Studio 2005 によるエンタープライズ開発
 B.1 Visual Studio 2005におけるソリューション/プロジェクト構成のポイント
 B.2 エンタープライズ開発を意識したソリューション/プロジェクト構成方法
 B.3 チーム開発におけるソースコードの配置フォルダ
 B.4 テスト用のファイルアタッチデータベースファイルの取り扱い方
  B.4.1 ビジネスロジック部クラスライブラリプロジェクト
  B.4.2 Webサイトプロジェクト
  B.4.3 テストプロジェクト
 B.5 参照設定の指定
  B.5.1 InternalVisibleTo属性の利用(C# の場合のみ)
  B.5.2 プライベートアクセサの作成(C#/VBどちらでも可)
 B.6 ビルドプロセスにて行うべき作業
 B.7 論理3階層型設計を取る場合の注意点
 B.8 ローカルIIS型Web開発
  B.8.1 IIS のインストール
  B.8.2 仮想ディレクトリの作成
  B.8.3 ローカルWebサイトのオープン
 B.9 Visual Studio 2005によるエンタープライズ開発まとめ

付録C 実習用コンピュータのインストール手順
 C.1 一般的な注意点と準備するソフトウェア
 C.2 共通セットアップ手順
  C.2.1 OS のクリーンインストール(Windows XP Professionalのインストール)
  C.2.2 Visual Web Developer 2005 Express Editionのインストール
  C.2.3 MBSA の利用

索引
謝辞

 


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間