待驗證和待修復的問題 梦里梦外; 2022-01-31 12:17 138阅读 0赞 1.Ajax丟包.案例:Ajax請求,在AP端獲取參數不完整,出現丟資料情況,參數 msource: ms,放在最後面,按理後臺一定能獲取到msource值,而出現結果是msource為null 發生問題壞境:網絡不穩定時(網絡丟包,ping測試網絡) 通過 Filddler,clumsy 和 Network Emulator Toolkit等工具模擬弱網測試,未測試出案例 待驗證指標解決方案,Ajax請求最後給一個網絡測試參數,如果獲取不到值,當次請求作廢,并做一次網絡測試,檢查網絡環境是否正常 //代碼片段 var ms = 2; if (JSHelper.IsPC()) { ms = 1; } var _tempSitNO = "", _tempTableNo = "", _tempJsonXml = ""; if ($("#press-tab").hasClass("Tab-Yes")) { ms = ms + 3;//Express請求 if (LxExpress) { _tempSitNO = LxExpress.GetSitNO(); _tempTableNo = LxExpress.GetTableNO(); _tempJsonXml = LxExpress.GetJson(); } } if (LoadType == "attach" || LoadType == "attach1") { Mail_OGuid = "";///超過32碼時,發送存在問題 } var pd = { action: "SendMail", LoginID: LxMailHelper.LoginID, WebLogin: LxMailHelper.WebLogin, SendSubject: JSHelper.Ajax_encode(SdSubject), SendTo: SdTo, SendCC: SdCC, SendBCC: SdBCC, SendAttach: SdAttach, Send_OGuid: Mail_OGuid, maptype: RT, Mguid: MailGuid, msource: ms, ContentHTML: JSHelper.Ajax_encode(CHTML), SitNO: _tempSitNO, TableNO: _tempTableNo, JsonXml: JSON.stringify(_tempJsonXml) } var re = AjaxHelper.JsonPost(pubvar.PostPath, pd); 2.對象序列化到文件里,出現部份內容丟失,反序列化時 異常 End of Stream encountered before parsing was completed. 出現問題原因未知,機率極低 網上解決方案是說要fStream.Flush(); 待驗證 try { FileStream fStream = new FileStream(_path, FileMode.Create); BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(fStream, Object); fStream.Dispose(); fStream.Close(); } catch (System.Exception ex) { LogHelper.WriteLog("Name", ex.Message, "Err"); ; throw ex; } 3.context.Request.Url的地址和請求單地址不一樣(非常規亂碼問題) Temp/D025575/85f1048ba39843a083080451968c39c2/Attach/240606CA0T\_06E\_%EF%98%B3%EE%92%95%EE%9D%BBA4\_%EE%8F%91.pdf 變成 Temp/D025575/85f1048ba39843a083080451968c39c2/Attach/240606CA0T\_06E\_%3F%E5%95%BE%3F%3F%E7%BF%A04\_%3F%3Fpdf 轉義后地址 /Temp/D025575/6238e1fd27e048c4ac7ecd68257951b8/Attach/240606CA0T\_06E\_?啾??翠4\_??pdf 導致無法定位 文件名稱(文件名本身可能就是亂碼字符的) ![20190605083127328.png][]可能是![20190605084423797.png][] 解決方案 未知文件名作為url的參數 Temp/D025575/85f1048ba39843a083080451968c39c2/Attach/240606CA0T\_06E\_%EF%98%B3%EE%92%95%EE%9D%BBA4\_%EE%8F%91.pdf?filename=240606CA0T\_06E\_%EF%98%B3%EE%92%95%EE%9D%BBA4\_%EE%8F%91.pdf 獲取filename參數沒有改變,處理時用filename替換掉原來的值 如果採用重新定向IHttpHandler技術,url可能監聽不到,提示Bad Request - Invalid URL 可以將url改為 (特殊字符放到參數里) Temp/D025575/85f1048ba39843a083080451968c39c2/Attach/XXXXX?filename=240606CA0T\_06E\_%EF%98%B3%EE%92%95%EE%9D%BBA4\_%EE%8F%91.pdf [20190605083127328.png]: https://img-blog.csdnimg.cn/20190605083127328.png [20190605084423797.png]: /images/20220131/a325e2c107684a76bf4ca32fabf12902.png
还没有评论,来说两句吧...