-1

ServiceModelEx の Service Bus 部分を使用しています。(および WCF サービスの自動開始に AppFabric を使用)。なんか変な挙動してる…

基本的に、サービス バスを初めて呼び出すと、すべての適切なイベントがチェーンを起動します (データベースを調べて、記録された値を確認することによって確認されます)。

しかし、その後の呼び出しでは何も起こりません。イベントが発生しないようです...

.svclogs には何の役にも立ちません。実際、後続のイベントも登録されていません。

ただし、Windows イベント ログには、バスにサブスクライブされているサービスごとに次のエラーが表示されます。

WebHost failed to process a request.
 Sender Information: System.ServiceModel.ServiceHostingEnvironment+HostingManager/777031
 Exception: System.ServiceModel.ServiceActivationException: The service '/AcmeWidgets.WidgetFactory.Subscribers.WidgetBuilder/BuildService.svc' cannot be activated due to an exception during compilation.  The exception message is: The type 'AcmeWidgets.WidgetFactory.Subscribers.WidgetBuilder.BuildService', provided as the Service attribute value in the ServiceHost directive, or provided in the configuration element system.serviceModel/serviceHostingEnvironment/serviceActivations could not be found.. ---> System.InvalidOperationException: The type 'AcmeWidgets.WidgetFactory.Subscribers.WidgetBuilder.BuildService', provided as the Service attribute value in the ServiceHost directive, or provided in the configuration element system.serviceModel/serviceHostingEnvironment/serviceActivations could not be found.
   at System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses)
   at System.ServiceModel.ServiceHostingEnvironment.HostingManager.CreateService(String normalizedVirtualPath)
   at System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(String normalizedVirtualPath)
   at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
   --- End of inner exception stack trace ---
   at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
   at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath)
 Process Name: w3wp
 Process ID: 3052

初めて正しく実行されるため、サービス属性値が正しいことは明らかです。

何か案は???

編集 1: この奇妙な動作に追加するには、Visual Studio でソリューションを「再構築」すると、バスへの最初の呼び出しが機能し、チェーンのすべてのイベントが発生し、その後の呼び出しはすべて失敗します。

4

1 に答える 1

1

ここでスタック トレースを表示するコード パスは、Service Bus に固有のものではありません。これはアクティベーション エラーです。ここにタイプロードエラーがあるように見えます。最初に fuslogvw を使用してそれを調べてみます

于 2012-05-23T08:28:43.893 に答える