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,避掉這個問題

  • 相关阅读:
    Spring4 MVC json问题(406 Not Acceptable)
    java 从网络Url中下载文件
    Java基础知识(一) 自增、自减运算符
    java文件读写操作
    java集合运算:求交集,并集,集合差
    httpclient+jsoup实现网页信息抓取
    java web使用gradle配置详情
    关于mysql登录异常处理方法
    windows server 2012 r2 远程桌面连接指南
    Java生成带小图标的二维码-google zxing 工具类
  • 原文地址:https://www.cnblogs.com/Nina-piaoye/p/3166772.html
Copyright © 2011-2022 走看看