WCF Data Servicesを使いこなそう(4)
今回はWCF Data ServiceをExpressWebに設置するの第2弾。
おそらく次回やったら、同じところではまりそうなのでエントリ。
ExpressWebにSQLSERVERベースのアプリを設置するの巻
1.ExpressWeb側の設定
ExpressWebでは、mdfをアタッチして利用することは出来ないようなので、予めEW側でDBとユーザーを作っておく必要があります。
移行方法はこちらを参照。
http://secure.windowshosting.jp/knowledgebase.php?action=displayarticle&id=100
ちなみに、ExpressWebではmdfは300Mまでみたいです。
http://secure.windowshosting.jp/knowledgebase.php?action=displayarticle&id=20
本格的に使うのであれば、AzureやAWSを検討しないといけないようです。
たしかsdf(SQLSERVERCompact)は4Gまでいけるんじゃなかったっけ?
性能はどうなのか分かりませんが、ExpressWebでの運用であればsdfがよいのかな?
2.VisualStudio2010の設定など
(1)「SQLのパッケージ化/発行」
プロジェクトのプロパティーを選択すると出てくる「SQLのパッケージ化/発行」を設定する必要があります。
Web.configからインポートボタンを押すと、接続情報が自動的に取り込まれます。
複数出てくる場合は、ターゲットDBへの接続情報以外は削除しておきます。
「対象データーベースの接続文字列」にはExpressWeb側DBへの接続文字列を記入します。
http://secure.windowshosting.jp/knowledgebase.php?action=displayarticle&id=107
ここに記入した接続文字列は、配置する場合だけに利用されます。
アプリケーションで利用する接続文字列はやはりweb.configに設定する必要があります。
「ソースデータベースの情報」
既存の...にチェックを入れてください。先にインポートしているのでソースデーターベース接続文字列は既に設定されているはずです。
スクリプトオプションは、状況に応じて選択してください。
(2)web.config
ソリューションエクスプローラーで,全てのファイルを表示。
するとweb.configの下に、web.debug.configとweb.release.configが出てきます。
web.release.configを開くと
以下の例では、"Match" ロケーターで "MyDB" という値の "name" 属性が見つかった
場合にのみ、"SetAttributes" 変換により "connectionString" の値が変更され、
"ReleaseSQLServer" が使用されるようになります。
とコメントがあります。
この通り接続文字列を記入しておくと、releaseで配置した時に置き換えてくれるので便利!
3.2回目以降の配置。
DBが既に作成されているので、このままではエラーになってしまいます。
「Webのパッケージ化/発行」で「SQLのパッケージ化/発行」タブで構成した...のチェックを外すとDBを作成しなくなります。
以上メモ!
WCF Data Servicesを使いこなそう(3)
WCF Data Servicesを作ってローカルでうまく動作した。
で、実際にサービスとして提供するためにExpressWebに配置。
そしたら
このコレクションには、スキーマ http を持つアドレスが既に含まれています。
とうことでうまくいかない。
ググって見ると、
Web.configに
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>
を追加してやればいいらしい。
この修正をした後配置。
無事サービスを提供することができました。
WCF Data Servicesを使いこなそう(2)
GETはそのままWEBで確認出来るけど、PUT等は無理ですね。
ということでfiddlerというツールが紹介されていました。
なかなか便利らしい。
WCF Data Servicesを使いこなそう(1)
昨日から色々ブログを見て回ったところ、WCF Data Servicesってのがすごく便利そう。
ということで、こちらのサイトを参考にプログラムを作ってみようと思う。
http://msdn.microsoft.com/ja-jp/library/dd728275(v=vs.100).aspx
WCF Data ServicesはもともとADO.NET Data Services と呼ばれていたモノです。
サービス自体はデータベースが用意されていればカンタンに作成できますね。
作成したサービスは、こちらの手順で確認出来ます。
http://msdn.microsoft.com/ja-jp/library/dd728279(v=vs.100).aspx
WCFの復習(2)
データベース扱うような場合は、WCF Data Servicesが便利そうだな。
http://code.msdn.microsoft.com/10-WCF-Data-VB-295632fc/
http://www.atmarkit.co.jp/fdotnet/special/vs2008sp1ds/vs2008sp1ds_01.html