2008年7月23日水曜日

ADO.NETのDBがSQLiteのもの

http://sqlite.phxsoftware.com/
が、紹介で、ダウンロード元が以下
http://sourceforge.net/projects/sqlite-dotnet2
で、導入してみると、Visual Studio 2008 Standard Editionではこんな感じに。




データソースの選択にSQLiteが出てくる。




詳細設定の一番下の箱など日本語で出てほしいところは出ませんが、特に問題にならないと思う。



2008年7月22日火曜日

ASP.NETのメモ(セッションステート外部ストア):保留。

今回は、セッションステートの外部ストア化です。
Linux+Mono+xsp2で動かすためには、SQL Serverと決別しなきゃいけないので、セッション管理もSQL Serverから別のものに移さなきゃならない。

幸いASP.NET 2.0では、この管理も他と同様にProviderパターン(Template Methodパターン?)
で、外部からの注入が可能となっています。
で、これを使ってやるのですが、難航しています。
http://msdn.microsoft.com/ja-jp/library/ms178588.aspx
と同様にすれば、別のセッション情報をDBで管理できるようになったのだけれど、セッションidがURLに出てしまう。(Cookieless=trueにしているから。)
サンプルプログラムはちゃんと読んだわけではないのですが、DBデータの挙動を見ているとCookielessをfalseにすると、DBに書き出されていないみたい。

ま、今回作るプログラムは、5画面以上の遷移や、100文字以上の入力がないので、Sessionは、Inprocモードでやることにします。

2008年7月21日月曜日

インサイドSQL Server2005 クエリチューニング&最適化編

本屋によったら、インサイドSQL Server2005の本が売っていた。
というわけで、今回も購入。税込4935円。やっぱり黄色い本は高いなぁ。

ASP.NETのメモ(メンバシッププロバイダ)

カスタムメンバシッププロバイダを使ったログインの作成

Visual Studio2008を起動して、新しいサイトを作成

.NET Framework2.0を選択して、


デフォルトページ以外にも、2つのページを作成。

まずは、ログイン画面。


同じ要領で、ユーザページ(ログイン後の画面)を作成する。


続いてカスタムメンバシッププロバイダを作成する。


ここで「はい」を選択し、App_Codeに入れる。


クラスの継承元[:MembershipProvider]を入力し、



そのキーワード(MemberhsipProvier)の上で右クリック、
継承クラスの実装を選択して、


abstractのメソッドを実装するスケルトンを作成。
そのあと、直近で利用するValidateUser()のみをちょっと
実装する。




続いてWeb.configの変更。元のWeb.configからの変更箇所は、
authenticationタグ(変更) 、membershipタグ(追加)、
authorizationタグ(追加)、 下のlocationタグ(追加)
です。





ログイン画面、ログインパーツを置いてみます。



置いたログインパーツをクリックしてコード編集画面へ、


コード編集画面で、ログイン部分を記述


ログインパーツで入力されたもので認証を呼び出す。



これでコード修正おわり。
あとはF5で実行。

OKを選択し、動作確認。
Default.aspxは未ログインでも表示できること、
UserPage.aspxを未ログイン状態で表示するとログインページ
に移動し、ログイン入力すると、UserPage.aspxを表示すること、
ログイン後は、UserPage.aspxを直接入力しても表示されることを確認する。