BloggerAds

2011年8月23日 星期二

.Net Web Service Internal Server Error 錯誤處理方式


在.Net 使用Web Service的方式很簡單,只要使用下列code就可以使用

首先在aspx加上如下程式:
<asp:ScriptManager runat="server" ID="ScriptManager1">
    <Services>
        <asp:ServiceReference Path="~/AAA.asmx" />
    </Services>
</asp:ScriptManager>
JavaScript即可用下列方式使用:
Class名稱.function名稱(參數, 完成時執行的function名稱, 錯誤時執行的function名稱, TimeOut時執行的function名稱);
ex.
AAA.funAAA(strB, OnComplete, OnError, OnTimeOut)

但若出現「Internal Server Error」,往往會讓人摸不著頭緒,很難找原因。在這提供幾個參考的debug方式:

1.先檢查程式中Web Service的路徑(URL)是否有錯誤,相對路徑與絕對路徑的使用是否都抓到asmx檔案。

2.Web Service是否有正確回傳資料,可直接打上網址 (ex. http://localhost/AAA.asmx) 並直接輸入參數檢查資料是否正確,或是否有錯誤發生。

3.若WebService 無法用遠端存取,只可在本機(Local)存取 ,則要在web.config加上下列藍色的部份:
<configuration>
    <system.web>
        <webServices>
            <protocols>
                <add name="HttpPost"/>
                <add name="HttpGet"/>
            </protocols>
        </webServices>

    </system.web>
</configuration>

沒有留言:

張貼留言