0
我有一个应用程序,通过浏览器正常使用时工作正常。ASP.Net MVC Modelbinder&Request.Form是空的,即使多部分/ MIME发布
当试图记录或回放JMeter脚本时,应用程序停止工作,并且某些页面以空模型结束。我已经通过wireshark确认表单数据在这些请求中发布。
我将工作请求的wireshark与失败的请求进行了比较,差异很小。
的主要原因之一是本
工作:
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryyuuSWkmnnXJCTJzw
失败:
Content-Type: multipart/form-data; boundary=kAbx249hddVWzlxpSVyEMxcpc9waTo; charset=UTF-8
边界文本由JMeter的代理修改,和charset = UTF-8也被添加由代理。
我确认在实际的MIME数据中,两种情况都使用了正确的边界。
表单帖子中的所有其他标题,cookie,名称都是完全相同的。
当我的行为被击中,该模型是空的(主要模型变量不为空,但在该模型中的所有属性的默认值)
在调试/即时窗口中,的Request.Form是空的。
? Request.Form
{}
[System.Web.HttpValueCollection]: {}
base: {}
AllKeys: {string[0]}
我可以使那些认为他们会有帮助的wireshark捕获可用。
这绝对是编码。我捕获了工作请求,添加了编码,并且打破了。 显然发送UTF-8编码(不需要更改有效负载)会导致IIS/ASP.Net忽略表单发布。 –