2010-09-16 54 views
0

使用VB Express 2008時,如果代碼對另一臺計算機上的SOAP功能執行遠程過程調用,CPU會一直阻塞,直到調用返回?SOAP遠程過程調用原子阻塞調用嗎?

+0

請更具體。 「遠程過程調用」是什麼意思。我不知道所謂的「遠程過程對SOAP函數的調用」。你的意思是調用Web服務方法嗎?您是否使用「添加服務參考」或「添加Web參考」? – 2010-09-16 03:34:11

+0

這是不是重複的http://stackoverflow.com/questions/3722665/how-to-load-test-a-soap-interface-are-soap-function-calls-atomic? – 2010-09-16 03:39:19

+0

這是一種重複,但似乎我沒有足夠清楚地表達第一個問題。這是試圖削減它的骨頭。 – user448969 2010-09-16 07:10:04

回答

1

如果從客戶端

  • 客戶端代理類使用「添加服務引用」創建詢問

    1. 調用Web服務,或
    2. 客戶端代理類是通過創建「添加Web參考」

    然後答案是,他們默認情況下會阻止進行調用的線程。他們不會阻止「CPU」。只有撥打電話的線程。

    如果需要,還可以異步調用相同的方法。

  • +0

    好的,這聽起來不錯。那麼,如果我有很多線程,那麼我可以並行製作大量的RPC? Thnaks – user448969 2010-09-16 07:11:12

    +0

    如果您並行地進行大量調用(停止調用它們的RPC),那麼您將使用多個線程。它可能是也可能不是一對一的。 – 2010-09-16 07:18:45

    +0

    對不起約翰(我不明白他們爲什麼不是RPC,但是,我是n00b問這個問題;-),要麼我不瞭解你,要麼我們正在談論對方(我*明白你正試圖幫助我)。如果服務器可以處理多個呼叫,並且客戶端有一個CPU和兩個線程,它們都「同時」調用,那麼服務器是否會看到並行呼叫或串行?正如你正確地指出的那樣,這是對我以前的問題的一種改變。關鍵是我試圖用一臺測試PC來模擬100臺PC,並且需要知道我是否可以通過線程化來實現這一點。 – user448969 2010-09-16 08:23:59