2017-06-28 8 views
0

SFサービスコンテキストから利用可能な「ConfigurationPackage」を使用して、SF構成から構成を読み込もうとしています。私のクラスは次のようになります。DIを使用してServics Fabric ServiceContextをConfig実装に挿入

internal class ServiceFabricDbConfiguration : IDbConnectionConfig 
{ 
    private ConfigurationPackage _configurationPackage; 

    public ServiceFabricDbConfiguration(ServiceContext context) 
    { 
     _configurationPackage = context.CodePackageActivationContext.GetConfigurationPackageObject("Config"); 
    } 

    public string UserName => 
     _configurationPackage.Settings.Sections["Db_Configuration"] 
      .Parameters[ 
       "Username"] 
      .Value; 
} 

私は私のDIコンテナとしてautofac使用しています、と私はSFランタイムに登録する際に明示的ServiceContextのへの参照を取得することにより、上記のクラスを登録することができます

ServiceRuntime.RegisterServiceAsync("ApiType", 
         context => 
         { 
          Bootstrapper.SetContext(context); 
          return new Api(context); 
         }) 
        .GetAwaiter() 
        .GetResult(); 

ServiceContextをbootstrapperに登録する方法はありますか?理想的にはbootstrapperクラス内にありますか?

私は現在、私の俳優/サービスを登録するAutofac.ServiceFabricを使って実験していますが、それは(それがはるかに簡単きれいautofacモジュールの定義を維持するために作るんが)ServiceContextのはとても再び達成する上で困難になります隠し

+0

でServiceContextのが利用できるようになります。あなたはこれを利用できませんか? – Mardoxx

+0

サービスファブリックのautofac拡張機能をまだ検討していないのであれば、真剣に考えてみてください。現時点ではベータ版ですが、私はそれを問題なく使用しています。 https://github.com/autofac/Autofac.ServiceFabric – Mardoxx

+1

Ah - 私はFabricRuntimeに気づいていませんでした(FabricClientを使っていましたがServiceContextはこれで利用できませんでした)。これを回答として追加すると、私はそれを受け入れます。うん - 私はちょうどAutofac.ServiceFabricを使用するために私たちのプロジェクトを切り替えるだけですが、私は彼らがこれの拡張機能のビルドを持っているとは思わない? [お詫び - Bootstrapperはオートファック登録のクラスです] –

答えて

1

FabricRuntimeには静的メソッドGetActivationContext(があります。おそらくこれを使用してアクティベーションコンテキストを注入することができます。

開発中のAutofac.ServiceFabric https://github.com/autofac/Autofac.ServiceFabricもご利用いただけます。ここにはブログの投稿https://alexmg.com/introducing-the-autofac-integration-for-service-fabric/もあり、サンプルコードへのリンクも含まれています!今はプレリリース(ベータ版)ですが、ここ数ヶ月間問題なく使用しています。

1

PR 8はなく、あなたのブートストラップクラスが何であるか、関係なく、... `GetActivationContext()` `FabricRuntime`の静的メソッド必ずありますAutofac.ServiceFabric

関連する問題