Ich bin neu zu Android und Erstellen einer App, die mit dem Server über Web-Service kommunizieren. Server-Side-Code ist in asp.net geschrieben, und Server-Seite verwaltet Sitzung. Ich benutze Volley, um den Web-Service anzurufen, aber das Problem, ich bin nicht in der Lage, die Sitzung auf der Serverseite zu halten, soweit ich weiß, muss ich die Session-ID aus der Kopfzeile Ich habe durchsucht haben Website, aber ich kann nicht erfolgreich sein. Mein Problem besteht darin, die Sitzung in der App zu pflegen. Unten ist mein Code für den Aufruf von Web-Service in Android.Server-Session ID in Android mit Volley
_Login_Webservice = new JsonObjectRequest(Request.Method.GET,
_Login_Url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
// Log.e(Utils.tag, "response :" + response);
User _User;
button.setLoadingState(false);
try {
boolean Success = response.getBoolean("Success");
if (Success == true) {
//my code
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("", "exception in Login User Login_Activity: ");
Log.e("", "error is : " + error.toString());
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
return params;
}
};
// _Login_Webservice.setRetryPolicy(new DefaultRetryPolicy(5000, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
// Adding request to request queue
Volley_Controller.getInstance().addToRequestQueue(_Login_Webservice,
Config.VOLEY_TAG);
und die Antwort in der Kopfzeile ist unten.
{X-AspNet-Version=4.0.30319, X-Android-Selected-Transport=http/1.1, Vary=Accept-Encoding, Date=Thu, 07 Apr 2016 08:26:23 GMT, X-Android-Received-Millis=1460017311847, Set-Cookie=ASP.NET_SessionId=obzjppign5twglksjesm24wi; path=/; HttpOnly, Content-Type=text/JSON; charset=utf-8, X-Powered-By=ASP.NET, X-Android-Response-Source=NETWORK 200, Server=Microsoft-IIS/7.5, X-Android-Sent-Millis=1460017311678, Cache-Control=private}
ich brauche Wert von ASP.NET_SessionId = und müssen auch in Kopf dies in anderen Web-Dienste zu senden. Im Augenblick ist die Antwort, die ich empfangen habe ist, unter
{"Success":false,"Info":"Object reference not set to an instance of an object."}
hast du mein Leben gerettet! Danke ... – Bhuro
Dies ist, was ich http://stackoverflow.com/questions/5960832/maintaining-session-in-android-application-stay-authenticated-on-the-server-si/38473193#38473193 verwendet habe – Bhuro