2017-01-05 3 views
1

*.exeファイルを実行してサービスファブリックランタイムの上に構築されたサービスをローカルで実行するにはどうすればよいですか?サービスファブリックEXEをローカルで実行するには

現在のところ、例外がスローされてからアプリケーションが終了します。

私は分離してサービスをスピンアップできるようにしたいので、アプリケーションの一部として展開する前にサービスパッケージを作成する前にサービスの終わりから終わりまでテストすることができます。私はこれまでTopShelfとWeb Jobsでこれを行ってきましたが、これはコンソールアプリケーションの上に構築されているにもかかわらず、Service Fabricでは動作しません。

+0

* asp.net *ウェブサイトを実行するだけでは実行できない可能性があります。それはホストされなければならず、私はローカライズされたFabric Serviceホストを認識していません。 –

+0

まあ、.netcore asp.netのような新しいものは、それをサポートするために何もする必要はありません。 –

+0

実際には、あなたはまだ何かの中に*ホスト*する必要があります... EXEや何かのように。 MVCをネイティブに実行するEXEを構築するだけではできません。[MVCをホストするようにexeを設定し、ルートディレクトリでMVCを設定する必要があります](https://weblog.west-wind.com/posts/2016/ Jun-29/First-Steps-Exploring-NET-Core-and-ASPNET-Coreなど)はまだホストされています。 –

答えて

1

あなたはService Fabricアプリケーションをデバッグするために、ローカルサービス・ファブリック・クラスタが必要ですが、最初にあなたはそれを行うために、このarticleをチェックし、The Azure Service Fabric SDKをインストールする必要があります。

ローカルクラスタにアプリケーションを展開すると、このMicrosoftのarticleが役立つかもしれません。

+0

これをクラスタに配置して実行する必要がありますか?私は通常、私のテストセットアップ内でexeファイルをスピンアップしてから、アプリケーションをエンドツーエンドでテストし、それをもう一度破棄します。毎回アプリケーション全体を配備するのに少し不満がありますか? –

+1

これはサービスファブリックアプリケーションをローカルで実行する唯一の方法です。私はローカルSFクラスタを持つことが必要だと思います。 –

+0

@KevinSmithマイクロソフト社の文書のすべてがそれを使用することを言及しているので、これは唯一の方法と思われます。この[記事](https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-debugging-your-application)を参照してください。例えば –

0

通常のコンソールアプリケーションをソリューションに追加し、サービスプロジェクトを参照できます。次に、サービスコンテキストと状態マネージャのためのモックを使用して、サービスのインスタンスを作成することができます。

Here'sモックを助けるパッケージ。

Here's使い方

その使用は単体テストシナリオに限定されません。 ServiceProxy.Createの代わりに、サービスリモーティング(IServiceProxyFactory/IActorProxyFactory)の依存関係注入を行ってください。

FabricClientを使用している場合は、依存関係注入も行う必要があります。

+0

実際にコードを模擬したくないので、サービス内のエンドツーエンドのテストを実際のものと同じように実行したいと考えています。 –

関連する問題