かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

RIA Services

MVVM + WCF RIA Services + ログイン + 画面遷移

前にやったやつの改造です。今回はログイン後にシステムに必須のヘッダーを表示するようにしてみました。 ログイン前 ログイン後 ポイントはログインしている状態としていない状態のVisualStateを作って、VMのプロパティの状態に応じて切り替えているところ…

MVVM + Silverlight + WCF RIA Services + Prismでログインして画面遷移

先日書いたのをちょろっと修正しました。 MVVMRxSample.V2.zipちょっとこのサンプルで個人的にポイントだと思ってる箇所をつらつらと書いていこうと思います。 認証 Form認証使って認証しています。 サーバー側 まずForm認証使ってます。なのでWebアプリケー…

LightSwitch + RIA Services

LightSwitchの正式版が出ました!! ということで軽く触ってみました。個人的にはWCF RIA Servicesとの絡みがどうなるのか気になってたので調べてみました。因みに調べる前の頭の中では下のような感じなんだと思ってました。 要は、どこかのサーバで共通的に…

Visual Studio 2010 SP1で微妙に強化されてるWCF RIA Services

地震のせいで帰社命令が出たけど電車が動かないと帰れない今日この頃です。Visual Studio 2010 SP1入れたのですがWCF RIA Servicesで地味にうれしい強化がされてました。その機能は!! 同じEntityを複数のDomainServiceの戻り値として使える 今まで出来ない…

Rx + WCF RIA Services = 簡単?? その3(via 非同期プログラミングはつらいよ(2))

前回書いたプログラムですが、LINQ星人として有名なid:neueccさんからZipメソッド内で副作用のあることをするのはいくない!って言われたので書き直してみました。 private EduDomainContext ctx = new EduDomainContext(); public void Load() { this.IsBus…

Rx + WCF RIA Services = 簡単?? その2(via 非同期プログラミングはつらいよ(2))

さて、前回書いたRx + WCF RIA Services = 簡単?? via(非同期プログラミングは辛いよ)ですが、コメントで追加の要件がきました!ということでやってみようと思います。 因みにReactive Extensionsを使わない場合の実装例はこちらを見てください。 非同期プロ…

Rx + WCF RIA Services = 簡単?? via(非同期プログラミングは辛いよ)

id:wave1008さんが非同期プログラミングは辛いよという記事を書かれていますが、このように非同期プログラミングは苦痛を伴うプログラミングです。しかし、id:neueccさんがコメントで書かれていますが、現時点で便利なライブラリとしてReactive Extensionsと…

WCF RIA ServicesのDomainServiceにMEFを使ってDIする方法

先日、DomainServiceの生成処理をのっとる方法を紹介しました。 WCF RIA ServicesでDomainServiceの生成処理をのっとる方法 これを応用してDomainServiceにMEFを使ってDIしてしまおうと思います。ということで早速MEFRIAServicesというSilverlightアプリケー…

WCF RIA ServicesでDomainServiceの生成処理をのっとる方法

System.ServiceModel.DomainServices.Server.IDomainServiceFactoryを継承したクラスを作ります。 public class MyDomainServiceFactory : IDomainServiceFactory { public DomainService CreateDomainService(Type domainServiceType, DomainServiceContext…

WCF RIA Services Toolkit December 2010試してみた

インストールは、Yesマンになれば出来たので割愛。早速データを取得するところまで試してみました。 DomainServiceの作成 ここらへんは変わらずです。さくっと作ってしまいましょう。 要注意なのが、Countメソッドを実装してやらないとページングとかが有効…

CodeZineでWCF RIA Servicesの記事が書かれています

http://codezine.jp/article/detail/5476 これは、読まないと!!

WCF RIA ServicesのメソッドをReactive Extensionsのメソッドチェインに入れるためのおまじない

こんなの用意しておけばいいかなぁ。 using System; using System.Collections.Generic; using System.Linq; using System.ServiceModel.DomainServices.Client; public static class DomainContextExtensions { public static IObservable<IEnumerable<TEntity>> LoadAsObservable<TEntity></tentity></ienumerable<tentity>…

WCF RIA ServicesでSOAP endpointを公開するためのメモ

ダウンロードするもの WCF RIA Services Toolkit サーバー側に追加するアセンブリ C:\Program Files\Microsoft SDKs\RIA Services\v1.0\Toolkit\Libraries\Server\Microsoft.ServiceModel.DomainServices.Hosting.dll web.configに追加するもの <system.serviceModel> <domainServices> <endpoints> </endpoints></domainservices></system.servicemodel>

WCF RIA ServicesのDomainContextをモックする方法

WCF RIA Serviceは非常に便利なんですが、ViewModelからDomainContextを使うと、途端に単体テストがしづらいという悲しいことが起きてしまいます。 ということで、DomainContextをラップするクラスを作って、そいつをモックにしてやるという方法がありますが…

WCF RIA Servicesで複雑なエンテティを戻り値にする方法

自分で作ったクラスをエンテティとして扱うDomain Serviceを公開する場合に、プロパティがプリミティブ型だけで構成される場合は、主キーとなるプロパティにKey属性をつけるだけで普通に使えます。 しかし、プロパティの型が、さらに別のクラスだったりする…

WCF RIA Servicesで更新の処理を書いてみた

WCF RIA Servicesで更新ってどうやるのか見てみました。 基本的には、Silverlight側で変更箇所を記録しておいて、DomainContextのSubmitChangesメソッドで一括でサーバに送るといった寸法みたいです。 早速やってみました。 足場づくり RIAUpdateという名前…

WCF RIA ServicesでEntity Frameworkを使うときと使わないときで

WCF RIA Servicesで、Entity Frameworkを使うようにするとEntityをクライアントに渡すことが出来るようになる。 ただ、普通にDomainServiceを継承して作っただけのサービスだと、Entity FrameworkのEntityを返すようにするとエラーになる。これは、WCF RIA S…

WCF RIA ServicesでHello world

Silverlight4 Toolsの正式版(英語版じゃないと使えないけど)が出てWCF RIA Servicesも正式なものになりました。ということで、ここらへんで軽くHello worldをしてみたいと思います。 作ろうと思うアプリケーションは、WCF RIA Servicesのデモではおなじみ…

更新系の処理を作ってみよう サーバー編

これまで、検索系をまったりと作りましたが、ここからは更新系の処理を.NET RIA Servicesで作ってみようと思います。 更新系の処理を出来るようにするためには、InsertXXX, UpdateXXX, DeleteXXXという名前で戻り値がvoid, 引数にエンテティを受け取るメソッ…

検索系の仕上げ

前記事:検索系の処理を実装してみよう前の記事で作った.NET RIA Servicesの検索系の処理ですが、よく見てみるとイマイチなところがあります。よく見てみると、日付がサーバー側とクライアント側で9時間ずれてしまっています。 ということで、ここをどうに…

検索系まとめ その2

前回:検索系まとめ前回で、サーバーサイドで検索系のメソッドをどうやって作るのかざっと見ました。 今回は、検索系のメソッドをSilverlight側でどうやって呼び出すかをまとめてみようと思います。色々なケースに対応できるようにするためか、Silverlight側…

検索系まとめ

前回:検索系の処理を実装してみよう前回、とりあえず.NET RIA Servicesを使って、検索系の処理を書いてみました。 今回は、.NET RIA Servicesの検索系の簡単なまとめをしてみたいと思います。検索系のメソッドになるためには、以下の条件を満たしている必要…

検索系の処理を実装してみよう

これまでの記事で、とりあえずHello worldは実装すること出来ました。 今回は、ちょっと踏み込んで検索系の処理をちゃんと作ってみようと思います。 プロジェクトの作成 & 下準備 CrudRIAServicesという名前でSilverlight Applicationを作成します。もちろん…

.NET RIA Servicesで自動生成されるコードを見て

.NET RIA Servicesが自動生成してくれるコードを見てると、今までめんどくさいと思ってたコードを書いてくれている印象を受けます。 例えばプロパティのコード。 サーバーサイドでは public string Text { get; set; } だけ書いているのに private string _t…

Hello worldの続き

前回:http://d.hatena.ne.jp/okazuki/20091017/1255761209前回は、簡単なHello worldを作成しました。 その際に、サーバーサイドの結果を受け取るのにコールバックを使用しました。 今回は、コールバックを使用しない方法でデータを取得してみようと思いま…

Hello world

前回:http://d.hatena.ne.jp/okazuki/20091014/1255532892.NET RIA Servicesの環境を前回整えました。 今回は、はじめてということもあるので、Hello worldからはじめてみようと思います。 プロジェクトの作成 .NET RIA ServicesをインストールするとSilver…

.NET RIA Servicesを使ってみた

英語版のVisual Studioでしか現時点では使えない.NET RIA Servicesを使ってみました。 Visual Studioは、日本語版と英語版が共存できるらしいという情報をもとに、ふみきってみました。まずは、Visual Web Developer 2008 Express Edition SP1をゲットします…