簡體   English   中英

VS2010對WCF的“更新服務參考”,行為擴展檢查和更改消息

[英]VS2010 “Update Service Reference” to WCF where behavior extensions inspect and change messages

我正在使用加密的時間戳來保護Web服務器中的WCF服務與“中間層”中的另一個安全通信。 在調用服務(此交換中的客戶端)中,我使用的DLL是其類繼承System.ServiceModel.Configuration.BehaviorExtensionElement來提供實現System.ServiceModel.Description.IEndpointBehavior和System.ServiceModel.Dispatcher.IClientMessageInspector的功能。 這是通過web.config文件與以下部分粘合在一起的

<extensions>
 <behaviorExtensions>
  <add name="MessageInspectorBehavior" type="MessageInspectorDLL.MessageInspectorBehaviorExtensionElement, MessageInspectorDLL, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
 </behaviorExtensions>
</extensions>

<endpointBehaviors>
  <behavior name="MessageInspectorEndpointBehavior">
    <MessageInspectorBehavior />
  </behavior>
</endpointBehaviors>

然后將這些與此類條目連接到中層WCF

<client>
  <endpoint address="http://blah.cloudapp.net:8080/BlahService.svc"
    behaviorConfiguration="MessageInspectorEndpointBehavior" binding="customBinding"
    bindingConfiguration="CustomBinding_BlahService"
    contract="BlahServiceReference.BlahService"
    name="CustomBinding_BlahService" />

在中間層,還有一個類似的故事,System.ServiceModel.Dispatcher.IClientMessageInspector解密時間戳並處理請求,或者拋出帶有錯誤消息“ Invalid stamp”的System.ServiceModel.FaultException。

這是http://msdn.microsoft.com/zh-cn/library/ms733747.aspxhttp://weblogs.asp.net/paolopia/archive/2007/08/23/writing-a-wcf中的代碼示例-message-inspector.aspx

現在,我更改了中層WCF。 一些更改很簡單(例如,更正方法名稱“ retrive”->“ retrieve”中的拼寫錯誤),而另一些則添加了更多實質性功能,並且我想更新客戶端中的服務記錄。 在VS2010中,我右鍵單擊需要更新的服務引用,然后選擇“更新服務引用”。 VS2010連接到中間層WCF(“下載服務信息”),然后引發錯誤

由於以下問題,無法更新服務引用的配置:無法加載為擴展名“ MessageInspectorBehavior”注冊的類型“ MessageInspectorDLL.MessageInspectorExtensionElement,MessageInspectorDLL,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null”。 (C:\\ TFS \\ Blah \\ Blah \\ web.config第80行)

怎么了? 我需要為更新服務引用設置一些內容,以正確使用消息檢查器DLL嗎?

雖然DLL或web.config可能有錯誤的可能性,但似乎不太可能發生,因為客戶端將連接到Azure上的上一個中間層,並且具有相同的加密時間戳檢查。

我找到了答案。 添加MessageInspectorDLL作為對ASP應用程序的引用為我修復了它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM