我爲iis 7部署了一項Web服務,它一直在正常工作。 然後我想更新Web服務中Web方法的代碼。iis上的Web服務未更新
我重新編譯了服務,並用新的iis目錄更新了dll。
我的問題是當我調用服務時,它會調用舊代碼。
我試着改變傳遞給服務內部Web方法的參數數量,並且在調用它時仍然會看到我擦除的舊參數。
我爲iis 7部署了一項Web服務,它一直在正常工作。 然後我想更新Web服務中Web方法的代碼。iis上的Web服務未更新
我重新編譯了服務,並用新的iis目錄更新了dll。
我的問題是當我調用服務時,它會調用舊代碼。
我試着改變傳遞給服務內部Web方法的參數數量,並且在調用它時仍然會看到我擦除的舊參數。
我猜測舊代碼被緩存。嘗試重新啓動IIS。這應該清除舊代碼的任何殘餘。
看來您需要更新您的服務參考。
轉到正在使用該服務的項目,左鍵單擊解決方案資源管理器中的服務引用,最後選擇「更新服務引用」。
也許我錯了,你做了,但你沒有在你的問題中提到,這是我的建議。
重建解決方案,並在IIS上部署服務。它將定義工作
Framework 2.0以後的Web服務默認編譯爲DLL文件,據我所知。通常,當您發佈網站和Web服務時,或者當您使用Web應用程序時,會發生這種情況。但是在Web服務中,Visual Studio將輸出編譯爲DLL。因此,你應該編譯你的DLL並在IIS上更新。即使您在IIS文件夾上看到CS代碼文件,它們仍未被使用。只有asmx文件(不是asmx.cs)用於映射dll中的代碼。
您是否嘗試清潔您的解決方案,然後重建? – 2011-01-24 13:44:14