我們有一個DLL用作我們網站前端和後端票務系統之間的中間層。插入票務系統的方法有點複雜,但簡短的說法是速度慢。我收到的最好情況是提交時間爲9秒。爲什麼從網頁調用Web服務較慢?
但真正的問題是,我只能通過Windows應用程序獲得這個時間,而不是通過ASP.NET網站。我已經建立了一個Windows測試應用程序和一個網頁進行測試,即使代碼被複制在他們之間,網頁一直在17-20秒內提交,而Windows應用程序正在8-11秒。
可能是什麼原因造成的?
編輯:在回答了幾個問題的答案...
到Web服務調用正在大量的時間,但我已經在這個Web服務沒有控制權,因爲它是由票務提供系統供應商。我需要找出當Web服務被稱爲另一種應用程序時,爲什麼Web服務需要花費不同的時間。代碼在兩種情況下都完全相同,並且它運行一個循環,然後報告記錄的時間。
的代碼是:
for (int i = 0; i < numIterations; i++)
{
startTimes[i] = DateTime.Now;
try
{
cvNum = Clearview.Submit(req, DateTime.Now, DateTime.Now, false);
}
catch (Exception ex)
{
exceptionCount++;
lblResult.Text += @"<br />Exception Caught: " + ex.Message + @"<br />";
}
endTimes[i] = DateTime.Now;
}
這是在兩種情況下相同的循環,權利之前,我打標時間和調用庫,它不會進一步處理,然後之後調用Web服務。但是,處理應該是一致的嗎?我已經在調試過程中跟蹤,沒有看到任何延遲進入實際的Web服務調用...
再次編輯:使用螞蟻,在這兩種情況下99.4%的時間正在發送只是在Web服務調用。這裏似乎沒有什麼區別......除了當超時的時間超過了Windows應用程序的時間。
哪些Windows和Web客戶端用於Web服務? – 2008-10-14 16:50:32
不確定你的意思是...? – CodeRedick 2008-10-14 17:24:28
您是使用HttpWebRequest,生成的Reference.cs,JavaScript客戶端Web客戶端還是什麼? – 2008-10-14 17:39:00