gpt4 book ai didi

android - 如何使用 Ksoap2-Android 使用 Session 依赖的 WCF 服务

转载 作者:IT老高 更新时间:2023-10-28 22:18:50 26 4
gpt4 key购买 nike

我正在使用 Ksoap2-Android 来使用 WCF 服务。

对于 dotnet 客户端,我们将 allowCookies="true" 保留在绑定(bind)配置中,它会发送相同的 sessionid 并在我的 WCF 服务中保持 session 完整(< em>我的服务是相互依赖并使用 session )。

任何人都知道 ksoap2-android 的任何此类设置,这将允许我使用WCF 服务使我的 session 在服务器上保持不变。

目前,当我对服务进行新调用时,sessionid 被更改,我的所有 session 变量清除并释放它们的值。

最佳答案

在 C# 中,我执行下一步,只需使用 android 方法即可:

1.- 发出 Http 请求,2.- 制作第一个请求的 Cookie 容器。3.- 将 cookieContainer 放在第二个请求上,例如,您可以在第二个 Activity 的 Intent 中放入一个 bundle ,并使用此 cookie 发送第二个 http 请求...

我的 C# 代码;

protected static void GetData()
{
CookieContainer cookies = new CookieContainer();
HttpWebRequest request1 = (HttpWebRequest)WebRequest.Create("https://any.com/url");
request1.CookieContainer = cookies;
HttpWebResponse response1 = (HttpWebResponse)request1.GetResponse();
StreamReader responseReader1 = new StreamReader(response1.GetResponseStream());
Response1 = responseReader1.ReadToEnd();
responseReader1.Close();
responseReader1.Dispose();

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.CookieContainer = cookies;
request.Method = "GET";
request1.KeepAlive = true;
try
{
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader responseReader = new StreamReader(response.GetResponseStream());
Response = responseReader.ReadToEnd();
responseReader.Close();
responseReader.Dispose();
if (Response.Contains("Server Error in '/Verification' Application."))
{
Console.WriteLine("Empty Registry" + Url);
}
}
catch (WebException ex)
{
if (ex.Response != null)
{
Console.WriteLine("Failed at: " + Url);
}
if (ex.Status == WebExceptionStatus.ProtocolError)
{
if (((HttpWebResponse)ex.Response).StatusCode == HttpStatusCode.NotFound)
{
Console.WriteLine(ex.Status);
}
}
else if (ex.Status == WebExceptionStatus.NameResolutionFailure)
{
Console.WriteLine(ex.Status);
}

}
}

我这样做是为了保留第一个请求的 sesionID,然后,在第二个请求中,我添加了 cookieContainer(因为服务器需要我)(进行机器人搜索);)......希望这能给你想法。

关于android - 如何使用 Ksoap2-Android 使用 Session 依赖的 WCF 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3101059/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com