我有一個非常簡單的ASP.NET Web應用程序,在Visual Studio 2008(SP1)下創建,面向.NET 3.5。「Microsoft JScript編譯錯誤:預期';'」調用ASMX Web服務
- 啓動頁是4個文本框,一個按鈕,和兩個JScript的功能簡單化了ASPX頁面:
- 一個onload處理程序的身體。此功能只是將文本框的值設置爲測試的特定日期和時間。
- 按鈕的OnClick處理程序。該處理程序調用本地化Web服務並顯示其結果。
- 本地化是一項Web服務。它的工作是獲取用戶的區域和國家信息,創建CultureInfo對象,並解析日期和時間信息,以便可以驗證開始日期是否在結束日期之前。這只是只有可靠的方式來做到這一點,而不用大量的JScript代碼,基本上重新發明輪子。結果作爲JSON字符串返回。
一切似乎工作得很好,直到我開始從調試器得到這些怪異的錯誤消息。調試器將打破這一行:
try {
_this._webRequest.completed(Sys.EventArgs.Empty);
}
finally { // <-- RIGHT HERE, specifically, on the brace
if (_this._xmlHttpRequest != null) {
_this._xmlHttpRequest.onreadystatechange = Function.emptyMethod;
_this._xmlHttpRequest = null;
}
}
的錯誤信息是這樣的:
Microsoft JScript compilation error: Expected ';'
現在,這是令人費解,並研究通常建議以確保已安裝的Java。我開始嘲笑,認爲我憑藉自己廣泛而明顯的優秀智慧,不可能犯這麼愚蠢的錯誤,並且知道每個人都知道Java和JavaScript之間的區別。所以,當沒人看的時候,我試了一下。它沒有任何區別。
我不知道是什麼導致這種情況發生。堆棧跟蹤顯示它是堆棧中唯一的調用。甚至沒有任何本地變量可以使用。它發生的文件是一個生成的動態腳本資源。該函數是Sys.Net.XMLHttpExecutor對象的_onReadyStateChange函數。所以我至少可以說它在AJAX代碼中一直髮生。
有沒有其他人看到過這個?如果你有,它的原因是什麼,你是如何解決它的?
服務器端:
- 的Windows 2000
- IIS 7
- ASP.NET
- .NET 3.5
發展
- 的Visual Studio 200 8 SP1
- .NET 3。5
- IE 8
- IIS 7
你能提供的代碼在剩餘finally塊? – GenericTypeTea 2010-10-05 15:06:49
你不能依靠在JavaScript錯誤的行號 - 你嘗試另一個瀏覽器?我會推薦FireFox與螢火蟲。 – 2010-10-05 15:11:33
按要求添加Finally塊的其餘部分。 – 2010-10-05 15:40:19