以下の内容はhttps://blog.okazuki.jp/entry/20110105/1294236824より取得しました。


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

System.ServiceModel.DomainServices.Server.IDomainServiceFactoryを継承したクラスを作ります。

public class MyDomainServiceFactory : IDomainServiceFactory
{
    public DomainService CreateDomainService(Type domainServiceType, DomainServiceContext context)
    {
        // どうにかして目的のドメインサービスを作成する
        // 引数にdomainServiceTypeで、どの型のドメインサービスを作成するかは
        // 渡ってきてるので、それを使う。
        DomainService ds = ........;
        ds.Initialize(context);
        return ds;
    }

    public void ReleaseDomainService(DomainService domainService)
    {
        // 何か、あれば解放処理
    }
}

こんなクラスを用意しておいてGlobal.asaxで以下のようにDomainServiceFactoryを差し替えてやればOKです。

public class Global : System.Web.HttpApplication
{
    protected void Application_Start(object sender, EventArgs e)
    {
        // ファクトリの差し替え
        DomainService.Factory = new MyDomainServiceFactory ();               
    }

    // 途中省略

    protected void Application_End(object sender, EventArgs e)
    {
        // 一応後始末(必要なのかな?)
        DomainService.Factory = null; 
    }
}

これで何が出来るようになるかというと、ぱっと思いつくだけでもDomainServiceに対してMEFから依存性を注入したりといったことが出来るようになりそうです。
後は、オレオレDomainServiceの基本クラスを作って、それに応じた初期化処理を施すとか、夢ひろがりまくりんぐ。




以上の内容はhttps://blog.okazuki.jp/entry/20110105/1294236824より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14