euvicc’s sphere pt.3 (migrated)

はてなダイアリー時代に書いてた古い古い日記です💦 更新はしません。

ど〜もよくわからん

実のところ、全然時間がない&調べてるうちに時間を食ってしまい、実装が全然進んでいないorz 独習なんてそんなもんか?とか思いつつも、自分のヘタレさに呆れる。

まず第一に、それまで実装できちんとやったこともないくせに3層Webアプリを実践しようとしハマる。随分前に買ったMicrosoft Visual Studio 2005によるWebアプリケーション構築技法 (マイクロソフトコンサルティングサービステクニカルリファレンスシリーズ)にて記述された通り、ソリューション内にWebサイトプロジェクトとクラスライブラリプロジェクトを作り、DBへのアクセスを行う機能はクラスライブラリ側に実装してみたんだが、ためしに接続テストしてみると失敗する。
「ASPNETDB.mdfが見つかりません」とかどうとか。なかなか解決方法を見つけられず、業を煮やしてWebサイト側のApp_Codeフォルダにクラスを置き直してやったらアッサリ接続成功(泣 で、その時ついでにASPNETDB.mdfへの接続情報がデフォルトでmachine.configに記述されていることを知り閉口。なんだよそれ。

DBアクセスが出来たんだから次行くべぇと、ユーザマスタにあたるテーブルを用意しておいたDBに作り、ソイツにSelect文を投げてユーザ認証を行うようなクラスを作成。認証に成功したらログインページから次のページにリダイレクト、と。・・・ここまではOK。
ちなみに、ASP.NET 2.0にはLoginコントロールという素晴らしいシロモノが用意されている。コレひとつを配置するだけでログインフォームが作れてしまうわけだからオジサンはビックリだw さらにLoginViewやLoginStatus、LoginNameなどの各種コントロールを駆使すると、なんかコードをほとんど書かずにログインしたユーザの情報を表示するとか、簡単にできちゃうんだそうな。それならばと早速ページに貼り付けてみるわけだが・・・よくわかんない。・゚・(ノд`)・゚・。
なんかねー、認証クラスをスクラッチで作りはじめた時点で、なんか間違ってたっぽい。ASP.NET管理ツールってのを使って、フォーム認証やらロールやらを有効にすると、ASPNETDB.mdfでそこらへんの情報を保持してくれるんだって。
大きなお世話だよ(-"-) 業務でそんなデフォルトデータベースなんか使えないだろうが。てゆーか相手のDBがSQL Server 2005以外だったらどうすんだこれ?


この時点で、頭に思い描いていたモノは大きな音を立てて崩れ去る予感www あくまで「ASP.NET 2.0の」独習であることを優先し、最初は本に書いてある通りに実装を試すべきなのか。それともやはり実際の開発現場の事情?に即して「変なDBには頼らない」方針を貫くべきなのか。

謎が謎を呼び、風雲急を告げ――ねーよ(汗 むしろ停滞しまくってちっとも先に進めない。どうしたものかなあ??