簡體   English   中英

ASP.NET:為什么我不能在一個頁面中兩次調用Web服務?

[英]ASP.NET: Why can't I call a web-service twice in one page?

我構建了一個Web應用程序,該應用程序在應用程序的登錄頁面中兩次調用Web服務-首先是在Page_Load上,第二次是在單擊按鈕之后。 調試時,一切正常,但是發布了Web應用程序並對其進行了嘗試之后-我無法對Web服務進行兩次調用(每個調用都在同一Web服務中調用不同的功能)。

如果我一次調用它(例如,在Page_Load中)就可以了,但是一旦獲得按鈕click事件,該頁面似乎只是在加載,但實際上什么也沒做(加載到無窮大)。

當我禁用Page_Load中的Web服務調用時,單擊按鈕后的Web服務調用運行良好,並且如果我在它們之間切換(禁用了按鈕單擊中的調用並啟用了Page_Load中的調用),則已啟用的服務正常。

怎么會這樣呢? 我做錯了什么? 可能與我發布Web應用程序的位置具有一些URL重寫規則這一事實有關嗎?


我不使用(!isPostBack)-我確實嘗試將兩個調用都放在按鈕單擊事件之后,但仍然存在相同的問題。

代碼的相關部分:

protected void Page_Load(object sender, EventArgs e)
{
    MyService.Functions service = new MyService.Functions();
    string str = service.DigestURL(Request.RawUrl.ToString());
    ...
}


public void submitButton_Click(object sender, ImageClickEventArgs e)
{
    MyService.Functions service = new MyService.Functions();
    string str = service.CommitLogIn(usernameText.Text, passwordText.Text);
    ...
}

您可以顯示一些代碼段嗎? 您是否已使用Page_Load中的if (!isPostBack)來調用Web服務? 單擊該按鈕時將觸發Page_Load 可能有一個問題。

如果使用的是WCF,請確保關閉客戶端。 在沒有關閉它之前,我有類似的行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM