Gå til innhold

trenger hjelp til session og webservices


Anbefalte innlegg

hallo! lager en enkel service som skal ta i mot stemmer som er en integer mellom 0 og 100. service'n skal returnere antall som har stemt og gjennomsnittet. dersom en klient ombestemmer seg skal han få lov til det, da må stemmen hans gjøres om og antall som har stemt beholdes.

 

for å få til dette må jeg bruke sessions/cookies, det har jeg sånn omtrent fått til tror jeg, men problemet er at jeg får en ny session hver gang jeg kobler meg til servicen (CastVote-metoden), og dermed får jeg ikke endret stemmen til den gamle klienten, bare lagt til en ny.

 

er det noen som kan se på koden under og komme med forslag til hva jeg må gjøre for å hente opp en gammel session?

 

using System;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Services.Description;
using System.Xml;
using System.Xml.Schema;
using System.Xml.Serialization;
using System.Data;

namespace A2WS
{
public class A2WS : System.Web.Services.WebService {

 [WebMethod(true)]
 public int CastVote(int v) {
 	int id = Session["id"]==null? 0: (int)Session["id"];
 	int voters = Application["voters"]==null? 0: (int)Application["voters"];
 	int sum = Application["sum"]==null? 0: (int)Application["sum"];
 	Session["id"] = id + 1;
 	Session["vote"] = v;
 	Application["voters"] = voters + 1;
 	Application["sum"] = sum + v;
 	return id;
 }

 [WebMethod()]
 public int GetVoters() {
 	return ((int) Application["voters"]);
 }

 [WebMethod()]
 public double GetAverage() {
 	return (int) Application["sum"]/(int) Application["voters"];
 }

}
}

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...