2011-09-21 69 views
2

當Web服務有一堆方法並且一種方法想要使用其他方法時,人們通常會做什麼?像任何其他外部呼叫者那樣調用該方法似乎浪費資源。在Web服務中內部使用Web服務

如:

[Web Method] 
public BlahObject GetBlah() { 
} 

[Web Method] 
public String Blah2() { 
    var blah = GetBlah(); // this will involve serializing, deserializing, etc. 
} 

回答

1

這取決於您的服務所在的位置以及您期望的解耦程度。

此外,如果兩個服務都在同一主機環境中,並且您需要頻繁調用另一個服務的方法 - 那麼您當然需要重新考慮服務設計的粒度。

直接從其他服務調用服務將爲您提供高度解耦的解決方案 - 但會帶來性能影響。如果您控制的所有服務 - 最好的辦法是更仔細地設計服務接口以避免此類呼叫...

1

我不熟悉C#,但你應該能夠直接調用方法,無需通過網絡服務API去。

即使您可以將您的代碼分別重新分爲具有Web方法和函數方法。然後你可以直接從任何方法調用函數方法。