2013-09-30 63 views
0

正如標題所說,我需要列出方法名稱&請求&響應類型(本地名稱只是不完全限定名稱)。我正在評估各種替代方案。這裏是我的findings-我可以使用哪個WCF擴展點來獲取操作名稱及其方法簽名列表?

  1. 參數檢查:先後獲得操作名稱,但不要求&響應類型爲每個操作。

    public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime) 
    { 
        foreach (ClientOperation operation in clientRuntime.Operations) 
        {     
         operation.ParameterInspectors.Add(new ParamInfo()); 
        } 
    } 
    
  2. 消息檢查:不能使用,因爲它們是消息的XML表示。

  3. 消息格式化程序:不幸的是我們的WCF服務使用,XmlSerializer :-(此擴展將不會觸發

什麼是前進的道路

回答

1

,你要找的是該MethodInfo的?躲在ServiceEndpoint例如假設有定義的同步操作:

endpoint.Contract.Operations[0].SyncMethod.ReturnType 

endpoint.Contract.Operations[0].SyncMethod.GetParameters() 

是什麼讓這有點令人困惑的是ServiceEndpoint處理的是契約參數的.NET實現而不是SOAP消息。換句話說,如果你實現你的服務來使用異步通信或者在OperationDescription上使用它的另一個屬性。

相關問題