【Asp.net】網站先行編譯到SERVER的問題紀錄

/
0 Comments
情況:

網站內加入一支web service,本機測試都正常(架在IIS上測試,網域內的IP都能看到web service抓的資料),但發行後複製到server架在IIS上,web service就是抓不到值,直接在IIS瀏覽asmx果然是出現

(檔案 '/XXXX.asmx' 尚未完成先行編譯,因此無法要求此檔案 )

的錯誤訊息頁面。


解決辦法:

使用aspnet_compiler作編譯(原本是用vs2010發行網站)

在命令提示字元:

  1. 先進入到aspnet_compiler所在位置
          執行  cd\Windows\Microsoft.NET\Framework\v2.0.50727

差別在於 ex: \Framework\v2.0.50727
                      \Framework64\v4.0.30319
   

2. 執行exe
aspnet_compiler -v / -p "要編譯的檔案路徑"   編譯後的位置
ex: aspnet_compiler -v / -p "C:\Users\Administrator\Desktop\XXX" c:\temp


編譯完成後將資料複製到架站位置資料夾就解決了

ps:
<system.web>

<!--讓service能讓外部呼叫-->
<webServices>
<protocols>
<!--<add name="HttpGet"/>-->
<add name="HttpPost"/>
</protocols>
</webServices>


參考資料
bonus:
動態叫用web service


You may also like

沒有留言: