我有一个负载生成器,在从机器A到机器B进行Soap测试调用时,将一个ASP.NET_SessionId附加到Cookie。
Cookie: ASP.NET_SessionId=gf0ouay24sdneiuicpiggn45;
但是,当我运行soap测试命中我的本地服务器时,它在cookie中没有ASP.NET_Session变量。
为什么会这样?
更新:
我现在在服务器上遇到此问题:
请求的表单身份验证失败。原因:提供的票证无效。
我已经遵循了这个:http://msmvps.com/blogs/omar/archive/2006/08/20/108307.aspx
但无济于事。
答案 0 :(得分:0)
如果您正在捎带内置的ASP.NET会话ID,请确保您的Web应用程序未在无Cookie模式下运行。无会话页面不会发送会话ID cookie。
尝试在本地服务器上显式修改web.config sessionState element 例如:
<sessionState mode="InProc" cookieless="false"
在web.config中明确设置它将覆盖machine.config文件或其他web.config文件中的任何内容,以确保配置正确。您想尝试此操作的原因是MSDN states:
多个配置文件,全部 名为Web.config,可以出现在 多个目录[..]每个Web.config file将配置设置应用于 它自己的目录和所有孩子 目录[..]根配置 文件命名 SYSTEMROOT \ Microsoft.NET \框架\版本号\ CONFIG \ Machine.config中 提供ASP.NET配置 整个Web服务器的设置。
答案 1 :(得分:0)
您使用的是WCF还是ASMX?
您是否监控过与Fiddler或WireShark的对话,看看服务器端是否提供了Set-Cookie标头?