Foxtable(狐表)用户栏目专家坐堂 → HttpRequest事件不够稳定


  共有1681人关注过本帖平板打印复制链接

主题:HttpRequest事件不够稳定

帅哥哟,离线,有人找我吗?
lgzhao
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:302 积分:2069 威望:0 精华:0 注册:2017/11/19 9:46:00
HttpRequest事件不够稳定  发帖心情 Post By:2023/4/28 6:18:00 [只看该作者]

HttpRequest事件接收到一些不标准的请求的时候,有时候会自己先抛出异常,而不是回复对方的请求有问题。
这个导致自身不稳定


例如:
客户端用这个发送请求
Dim JJ As new jobject

JJ("EventCode") = "CustomerAddedOrChanged"
JJ("CustomerInfo") = “dfs Jo”

' 发送信息
Dim postData As String = CompressJson(JJ.Tostring)

Dim request As System.Net.HttpWebRequest = CType(System.Net.WebRequest.Create(_WebhookSettings.URLToPostCustomerInfo), System.Net.HttpWebRequest)

request.Method = "POST"

Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData)

request.accept = "application/json"
request.ContentLength = byteArray.Length
request.Timeout = 3000   ' 3秒

Dim ReoToken As String ="asdfsadfgghfgd"


request.Headers.Add("Authorization", ReoToken)  'base64 加密

Dim dataStream As System.IO.Stream = request.GetRequestStream()
dataStream.Write(byteArray, 0, byteArray.Length)
dataStream.Close()


Dim response As System.Net.HttpWebResponse = CType(request.GetResponse(), System.Net.HttpWebResponse)
Dim responseStream As System.IO.Stream = response.GetResponseStream()
Dim reader As New System.IO.StreamReader(responseStream, Encoding.UTF8)

Dim responseContent As String  = reader.ReadToEnd()
Dim statusCode  = response.StatusCode

responseStream.Close()
response.Close()

' **********
这段请求中,可能是缺少了contenttype头部信息吧。服务端总是抛出一个错误,然后才执行httprequest事件。
作为一个服务端应该要准备好接收各种错误请求,而不能因为对方的请求导致自己抛出自己的错误,应该要告诉对方你错了,而不是自乱阵脚。

服务端面对的是各种程序和浏览器的请求,要做得更坚强。

' **********
在上面这个请求中,服务端会在httpreques事件之前抛出如下异常信息:
Event/function: 
Object reference not set to an instance of an object.
   at Foxtable.RequestEventArgs.O.o.0oO.()













 回到顶部