2011-08-03 8 views
1

NetTcpBindingに変更するWCFサービスWsHttpBindingに問題があります。 以前はIIS7ローカルマシンでサービスをセットアップしていましたが、WsHttpBindingで動作します。WCFバインディングをwsHttpからnetTcpに変更する

このサービスのプロキシは、私は私が私のログに次の例外を取得しNetTcpBindingへの結合を変更すると、要求メッセージ

を送信する前に2つのメッセージのヘッダを追加しCustomBehaviorを持っている...

Exception: System.ServiceModel.ServiceActivationException: Service /ConsignmentService/Consignment.svc cannot be activated due to an exception during compilation. The exception message is: Exception has been thrown by the target of an invocation ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ServiceModel.MessageHeaderException: There is not a header with the name "ClientID" og namespace 'http://AmphoraExtension/Header' in the message. 
    ved System.ServiceModel.Channels.MessageHeaders.GetHeader[T](String name, String ns, XmlObjectSerializer serializer) 
    ved System.ServiceModel.Channels.MessageHeaders.GetHeader[T](String name, String ns) 

これはwsHttpBindingでうまく動作しますが、NetTcpBindingに切り替えるとうまくいきません。 私はここで何が欠けていますか?

答えて

0

自分で解決しました。

これは私の悪かったです。パラメータとHeaderを持つ実際の要求が行われる前にWCFサーバーにリクエストが行われ、Serviceクラスがインスタンス化されました。そして、コンストラクタにはそこにあるはずのヘッダデータの周りに論理がありました。私はこのための回避策を作った

1

CustomBehaviourについてはあまりよく分かりませんが、netTcpの下でIIS上で実行されているWCFサービスを取得することとまったく同じ問題が発生しました。ここに私の質問をチェックアウト:

WCF netTcpBinding hosted on IIS7.5 Stops Working

をずっと私は自分の質問に答えることになった、とIIS上で実行されているNETTCPサービスを取得するためのチェックリストを掲載している約いじった後。

関連する問題