1
我在VS 2010 C#项目中提到了两个Web服务。其中一个服务进行身份验证,另一个服务正在获取数据。 (我也可以使用WSDL生成类,但Web引用看起来相当)。让WSDL适应多种服务 - 如何传递身份验证?
我使用服务1进行身份验证,但是如何告诉其他服务我已通过身份验证?有一个由服务1生成的cookie,我在Fiddler中看到,但由于我没有使用任何基本的Http类,因此我没有看到如何获取它。
我在VS 2010 C#项目中提到了两个Web服务。其中一个服务进行身份验证,另一个服务正在获取数据。 (我也可以使用WSDL生成类,但Web引用看起来相当)。让WSDL适应多种服务 - 如何传递身份验证?
我使用服务1进行身份验证,但是如何告诉其他服务我已通过身份验证?有一个由服务1生成的cookie,我在Fiddler中看到,但由于我没有使用任何基本的Http类,因此我没有看到如何获取它。
啊哈,我现在看到了答案。我的每个WSDL生成的对象都有一个CookieCollection,我可以在认证调用后从service1读取。然后我可以设置第二个第二个服务的饼干,如下所示:
response = service1.Authenticate();
CookieCollection allCookies= service1.CookieContainer.GetCookies(uri);
foreach (Cookie c in allCookies)
{
service2.CookieContainer.SetCookies(_uri,c.Name + "=" + c.Value);
}
service2.CallMyMethod();
这似乎是它的要义。