winformアプリケーションがあり、その内部にWCFサービスをホストしたいとします。私は別のappdomainでそれをホストする必要がありますか?どんな勧告?WCFサービスをホストするための推奨事項はありますか?
4
A
答えて
4
別のドメインでホストする必要はありませんが、サービス要求をUIスレッドまたは別のスレッドで処理するかどうかを決定する必要があります。これは、ServiceHost
インスタンスの作成方法またはサービスクラスに適用されるServiceBehavior
に依存します。
サービスがUIスレッドでホストされている場合、UIと直接対話できますが、要求処理はメッセージループの一部であり、すべてのサービス要求はシングルスレッドで処理されます(順次)。リクエストが処理されると、他のウィンドウイベント(UIイベントを含む)は処理できません=アプリケーションはフリーズします。
サービスが別のスレッドでホストされている場合、他のホスティング環境と同様に動作しますが、UIと直接対話できません。デリゲートの呼び出しを使用する必要があります。
自身のスレッドで実行するようにサービスを強制する方法:あなたは(Windowsのメッセージループの開始)Application.Run
を呼び出す前に
- が
ServiceHost
インスタンスを作成し、オープン - 別のスレッドで
ServiceHost
インスタンスを作成し、オープンサービスの実装に[ServiceBehavior(UseSynchronizationContext = false)]
を使用してください。
1
いいえ、別のAppDomainでホストする必要はありません。ちょうどそれをホストする。これに関してWinFormsには特別なことはありません。
0
あなたのアプリは何をしていますか?サービスは、アプリケーションの通常の機能の一部ですか、完全に別個の論理エンティティですか?
サービスを停止せずにサービスに関連するリソース(アセンブリなど)を読み込んでアンロードする場合は、別のアプリケーションドメインを使用するほうがはるかに簡単ですが、それ以外の場合はわかりませんもの。
私の2cです。 :-)
0
あなたはWinフォームでホストすることができますが、それを全部実行し続ける必要があります。
また、IISでホストすることをお勧めしますので、あらゆる種類のクライアントがサービスを利用できます。
関連する問題
- 1. Pythonクロスプラットフォームリスナーサーバのための推奨事項
- 2. C#データベースアクセスのための推奨事項
- 3. linux hostingのための推奨事項
- 4. Qt "BoundsChecker"?ツールの推奨事項はありますか?
- 5. SNMP MIB Visualizerの推奨事項はありますか?
- 6. Androidにリクエストコード値の推奨事項はありますか?
- 7. Snail Mail APIの推奨事項はありますか?
- 8. Subversion 1.5仮想アプライアンスの推奨事項はありますか?
- 9. ジオロケーションWebサービスの推奨事項
- 10. アーキテクチャサブアプリケーションを使用したWebアプリケーションの推奨事項/推奨事項
- 11. Flex用のJava Webサービスを学習するための推奨事項
- 12. JavaMEに適した文法コンパイラの推奨事項はありますか?
- 13. FullCalendar - データベースのタイムゾーンを保存するための推奨事項
- 14. Hadoop上のクラスタのノードリソースに関する推奨事項はありますか?
- 15. Perlを学習するための推奨事項?
- 16. WPFでログウィンドウを作成するための推奨事項
- 17. Sweave文書を開発するための推奨事項
- 18. grails appからオーディオをストリーミングするための推奨事項はありますか?
- 19. Cassandraシードノードの設定に関する推奨事項はありますか?
- 20. Firebaseデータベースデザインの推奨事項
- 21. Excelチャートコンポーネントの推奨事項
- 22. Webアプリケーションデプロイメントアーキテクチャの推奨事項
- 23. ソケットの推奨事項
- 24. jQuery FileManagerの推奨事項
- 25. jQueryナビゲーションメニュープラグインの推奨事項
- 26. IoTデバイスの推奨事項
- 27. バーチャルキーボードの推奨事項(JavaScript)
- 28. プロジェクトコラボレーションツールの推奨事項
- 29. JavaScriptスタイルの推奨事項
- 30. HL7インターフェイスエンジンの推奨事項
サービスをホストしている理由を知りたいのですがウィンドウフォームアプリ。それはどちらかでホストする方がいいでしょうか? Windowsサービスb。 IIS(オプションの場合)代わりに? – InSane
あなたのWinformsアプリケーションの中でそれをホストするならば、Winformsアプリケーションは稼働中であり、稼働しているだけです。 WCFサービスの「24時間体制」の可用性が必要な場合は、それらをWindows NTサービスに入れます。 –