Sono nuovo di Android e creazione di un'app che comunica al server attraverso il servizio web. Il codice lato server è scritto in asp.net e il lato server sta mantenendo la sessione. Sto usando Volley per chiamare il servizio web ma il problema non sono in grado di mantenere la sessione sul lato server, per quanto ne so devo ottenere l'ID di sessione dall'intestazione che ho cercato su questo lotto sito web ma non sono in grado di avere successo. Il mio problema è di mantenere la sessione in tutta l'app. Di seguito è riportato il mio codice per chiamare il servizio web in Android.ottenere l'id di sessione lato server in Android utilizzando 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);
e la risposta nell'intestazione è inferiore.
{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}
ho bisogno valore ASP.NET_SessionId = e anche bisogno di inviare questo in altri servizi web nell'intestazione. In questo momento la risposta che sto ricevendo è al di sotto
{"Success":false,"Info":"Object reference not set to an instance of an object."}
mi hai salvato la vita! Grazie ... – Bhuro
Questo è quello che ho usato http://stackoverflow.com/questions/5960832/maintaining-session-in-android-application-stay-authenticated-on-the-server-si/38473193#38473193 – Bhuro