none
HttpWebRequest 的問題 RRS feed

  • 問題

  • 請教一個問題

    目前我接的案子遇到一個問題

    對方有三個URL(urla,urlb,urlc)

    urla透過跟使用者的互動(例如點擊某圖片),經過urlb取得授權狀態,授權後透過urlc取得後端資訊

    因為對方需求是 要我每秒去偵測urlb看是否有授權成功訊息

    所以我目前遇到了一個問題

    因為對方的request是30s的timeout

    所以我在監聽狀態下第一次可以正常顯示urla的互動資訊然後後面的步驟

    假設第一個使用者不使用了離開,換第二個使用者使用時,因為第一個使用的timeout還沒到

    所以變成當我執行urla時會沒反應,直到timeout過了,urla才會正確執行

    我感覺是我使用using的關係 但又不知怎麼修正,還請大家幫忙指點真正的問題所在

    string targetUrl = "url";
                                     HttpWebRequest requestQR = HttpWebRequest.Create(targetUrl) as HttpWebRequest;
                                     requestQR.Method = "GET";
                                     requestQR.ContentType = "application/x-www-form-urlencoded";
                                     requestQR.Timeout = 30000;
                                     string resultQR = "";
                                     // 取得回應資料
                                     using (HttpWebResponse responseQR = requestQR.GetResponse() as HttpWebResponse)
                                     {
                                         using (StreamReader sr = new StreamReader(responseQR.GetResponseStream()))
                                         {
                                             resultQR = sr.ReadToEnd();
                                         }
                                     }


    • 已編輯 dodolon 2017年3月29日 上午 07:41
    2017年3月29日 上午 07:40

解答

  • 看起來像是oAuth的功能, 您可以考慮用oAuth來實作, 請參考:

    An Introduction to OAuth 2

    • 已標示為解答 dodolon 2017年3月31日 上午 08:14
    2017年3月29日 下午 12:11
  • 如果覺得是 using 的關係,那為何不改用沒有 using 的方式試...

    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    • 已標示為解答 dodolon 2017年3月31日 上午 08:14
    2017年3月29日 下午 03:00
    版主

所有回覆

  • call urla需要花多久的時間呢?

    您可以用 task or async 的方式,

    就可以避免 block ui 的問題。

    timeout只是當某個request 超過那個設定值就會取消。


    2017年3月29日 上午 08:50
  • 看起來像是oAuth的功能, 您可以考慮用oAuth來實作, 請參考:

    An Introduction to OAuth 2

    • 已標示為解答 dodolon 2017年3月31日 上午 08:14
    2017年3月29日 下午 12:11
  • 如果覺得是 using 的關係,那為何不改用沒有 using 的方式試...

    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    • 已標示為解答 dodolon 2017年3月31日 上午 08:14
    2017年3月29日 下午 03:00
    版主