我在服务器上使用IIS 7。测试时(本地)。
它会像IIS一样发送请求但响应两次。
我知道这是因为Fiddler记录了1个请求,但在请求之后我可以注意到以下内容:
数据库上的插入命令都是重复的(2个条目,但单击按钮一次)。
或错误消息重复。错误输出示例:
服务器拒绝了一个或多个收件人地址。服务器响应为:554 5.7.1< _EmailVariable_
>:拒绝中继访问服务器拒绝了一个或多个收件人地址。服务器响应为:554 5.7.1< _EmailVariable_
>:拒绝中继访问
如何查看问题所在,以及如何解决问题。
我的vb代码的catch(尝试后)如下:
Catch Ex As Exception
If Ex.Message.ToLower = "the server rejected one or more recipient addresses. the server response was: 554 5.7.1 <" + _EmailVariable_ + ">: relay access denied" Then
Response.Write("In this error block!")
Else
Response.Write(ex.Message)
'If Ex.Message.ToLower = "the transport lost its connection to the server." Then
' ClientScript.RegisterClientScriptBlock(Me.GetType(), "", "alert('PROBLEM: Please try again.')", True)
'Else
' Response.Write(Ex.Message)
'End If
End If
'ClientScript.RegisterClientScriptBlock(Me.GetType(), "", "alert('The following Error Occured. [" & Ex.Message.Replace(vbcrlf, "") & "]. If this is the first time you see this error please contact Clive or Jacques.')", True)
End Try
我只想说清楚,我理解后面的错误,我的问题与错误无关。我想修复IIS甚至VB插件,导致请求执行两次但只记录一个请求。!
答案 0 :(得分:0)
我找到了解决方案。
处理请求的我的按钮没有ID。
因此Visual Studio会自动添加一个onclick
事件,如果该按钮具有Id,它通常不会这样做。
非常简单,在我看来,当我点击按钮时它会发送回发请求(按照vb的正常情况)并处理响应,当它准备发送实际响应时,它处理了按钮的onclick
事件因此以重复响应结束。