zoukankan      html  css  js  c++  java
  • WebRequest + Https + 憑証錯誤 = 作業逾時

    前言

    一般的系統一登入時,都會顯示公告訊息,我們的系統也是! 因為系統效能問題,所以就幫忙看了程式。發現,每次登入時,都會到DB取公告資料,但公告並不會因為個人而有所不同,是針對整個系統的呀! 所以就建議將資料放到Application之中,然後在維護公告的那支程式中,再去將放在Application中的公告資料給清掉。

    但是因為我們的系統有4台Web AP做Load Balance,所以會導致只有操作維護公告那台Web AP會被清掉,其他3台還是舊的資料。

    實作

    有想到2種方式,1是公告調整時,再去寫For各AP的一個Flag,然後各AP去讀取它,然後再Update那個Flag。2是公告內容調整時,要呼叫各AP把資料把Application清掉。

    因為原本的效能問題就是因為DB太累了,所以就使用第2種方式,呼叫各Web AP的一支程式來做。

    Dim strURL as string = "http://MySystem/ResetAP.aspx"
    Dim req as System.Net.WebRequest = System.Net.WebRequest.Create(strURL)
    req.Timeout = 500
    Dim rsp as System.Net.HttpWebResponse = Ctype(req.GetResponse(), System.Net.HttpWebResponse)
    rsp.close
    Response.Write("OK!")

    在公司測試都OK,但是上到了客戶端卻發生了「作業逾時」的錯誤,請User直接在Web AP上直接Run ResetAP.aspx,User說是可以Run的呀! 奇怪!

    image

    於是直接到客戶端去看,原來是因為https時,憑証有問題,它會先問User要不要繼續下去。當使用程式去Run時,沒有人去按,所以它就會一直卡在那裡,就作業逾時了!

    image

    知道這個原因後,程式中就改用http,避掉這個問題

  • 相关阅读:
    Vue.js —— 关闭eslint校验
    彻底搞懂 module.exports/exports/import/export/export default
    JS 中的原型和原型链
    TypeScript-初级-08-声明合并
    TypeScript-初级-07-泛型
    TypeScript-初级-06-类与接口
    TypeScript-初级-05-类
    TypeScript-初级-04-枚举
    TypeScript-初级-03-元组
    TypeScript-初级-02-字符串字面量类型
  • 原文地址:https://www.cnblogs.com/Nina-piaoye/p/3166772.html
Copyright © 2011-2022 走看看