C# 使用会话签入SOAP UI的Web服务

C# 使用会话签入SOAP UI的Web服务,c#,asp.net,.net,web-services,soapui,C#,Asp.net,.net,Web Services,Soapui,我在.NET3.5上有一个简单的web服务,其中有一个HelloWorld()方法,如下所示 它在ASP.NET web浏览器和IIS中工作,并返回输出Hello World 1、2、3、4等…取决于打开或刷新的页面数量 一段时间后,根据项目的要求,我使用了SOAPUI工具(用于测试web服务)。 我在SOAPUI中创建新项目,并插入服务的url,如 http://www.myservices/service.asmx?wsdl 在SOAPUI中有一个同名的方法,但每次我执行它时,它都会在创建新

我在.NET3.5上有一个简单的web服务,其中有一个HelloWorld()方法,如下所示

它在ASP.NET web浏览器和IIS中工作,并返回输出<代码>Hello World 1、2、3、4等…取决于打开或刷新的页面数量

一段时间后,根据项目的要求,我使用了SOAPUI工具(用于测试web服务)。
我在SOAPUI中创建新项目,并插入服务的url,如
http://www.myservices/service.asmx?wsdl

在SOAPUI中有一个同名的方法,但每次我执行它时,它都会在创建新会话时打开。表示其始终返回我
Hello World 1,1,1,1
,而不是维护会话

但是,我需要维护会话以测试服务。

谢谢。

维护会话需要客户端的cookie支持。很可能您的客户已禁用cookies。您可以使用任何http调试器(如Fiddler)轻松验证这一点,只需发布两个请求,然后查看第一个请求(应设置cookie)和第二个请求(应携带cookie)的响应。

Wiktor Zychla,感谢您的帮助最后我发现了如何在SOAP UI中处理会话

我们需要在testCase中添加请求,添加HTTP测试请求。同时选中维护HTTP会话选项。 参考:


此外,据我了解,SOAPUI 4.0中存在一个bug,因此我将服务转移到SOAOUI 4.5上,以维护会话

如果我没有错,Fiddler仅与浏览器集成,SOAPUI是一个独立的应用程序,运行在服务运行的同一系统上,我认为对于在SOAP UI中启用会话,我们需要选中SOAP UI下的选项。关于浏览器,这不是真的,Fiddler捕获了更多抱歉,但我无法理解,需要更多的帮助,Fiddler中的新手。你是否应该使用SOAPUI。我只是问,别介意,谢谢你的支持。很难从他们的官方文件中找到答案。
[WebMethod(EnableSession=true)]
public string HelloWorld() {
    if (Session["Count"] == null) { Session["Count"] = 1; }
    Session["Count"] = Convert.ToInt32(Session["Count"]) + 1;
    return "Hello World " + Session["Count"];
}