Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

ASP.NET - Zbrka sa vise klijenata

[es] :: .NET :: ASP.NET :: ASP.NET - Zbrka sa vise klijenata

[ Pregleda: 688 | Odgovora: 16 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Mentuz
Sarajevo

Član broj: 152180
Poruke: 18
*.PPPoE-2081.sa.bih.net.ba.



Profil

icon ASP.NET - Zbrka sa vise klijenata23.07.2007. u 12:36

Imam jedan problem. Napisao sam (C#) ASP.NET aplikaciju preko koje korisnici treba da ostavljaju izvjestaje koji se zatim upisuju bazu. Aplikacija radi dobro kada je logiran jedan korisnik. Medjutim, kada su istovremeno logirana dva korisnika, tu nastaje problem. Jednostavno, aplikacija ne razdvaja korisnike, vec ih mijesa. Postoji li neki, efikasan, nacin da se ovo eliminise?
23.07.2007. u 12:36 

spartak

Član broj: 5625
Poruke: 631
*.yubc.net.



Profil

icon Re: ASP.NET - Zbrka sa vise klijenata23.07.2007. u 13:10
Aplikacija nista ne mesa, vec radi tacno onako kakvom si je napravio.

Mozes li da pojasnis sta ti znaci dva razlicita korisnika i to da ih aplikacija mesa? Daj neki primer kako je sada a kako bi ti zeleo da budes. Pocni od pocetka, kako su korisnici autentikovani, sta koji treba da uradi i slicno...
23.07.2007. u 13:10 

Mentuz
Sarajevo

Član broj: 152180
Poruke: 18
*.PPPoE-6187.sa.bih.net.ba.



Profil

icon Re: ASP.NET - Zbrka sa vise klijenata23.07.2007. u 13:40
Dakle.
Postoji stranica na kojoj se korisnici moraju logovati (username i password). Ukoliko u bazi podataka postoji korisnik sa unesenim username-om i password-om, u sesiju se zabiljezi njegov id iz baze podataka (nesta ovako: Session["Id"] = id) nakon cega slijedi Response.Redirect("User.aspx"). Kada se ucita User.aspx, u lokalnu varijablu sacuvam id korisnika (id = (string)Session["Id"]) kako bih mogao na osnovu toga ucitati izvjestaje koje je taj korisnik ostavio. Ovo radi bez ikakvih problema kada je logiran samo jedan korisnik. Medjutim, ako su istovremeno logirana dva korisnika dolazi do zbrke. Izvjestaji od jednog korisnika se prikazuju kod drugog i obratno. Slazem se da aplikacija radi onako kako je napises, ali ja nemogu da skontam gdje sam pogrijesio.
23.07.2007. u 13:40 

Smireni Magnet
softver inzenjer

Član broj: 9520
Poruke: 79
*.yu
Via: [es] mailing liste



Profil

icon Re: ASP.NET - Zbrka sa vise klijenata23.07.2007. u 22:47
Kako te tvoje korisnike aplikacija razaznaje?
To me boxing is like a ballet, except
there is no choreography, no dancing and the dancers hit each other...
23.07.2007. u 22:47 

Mentuz
Sarajevo

Član broj: 152180
Poruke: 18
*.PPPoE-7106.sa.bih.net.ba.



Profil

icon Re: ASP.NET - Zbrka sa vise klijenata24.07.2007. u 07:54
Preko korisnikovog Id-ja iz baze podataka.
24.07.2007. u 07:54 

Smireni Magnet
softver inzenjer

Član broj: 9520
Poruke: 79
195.66.163.*



Profil

icon Re: ASP.NET - Zbrka sa vise klijenata24.07.2007. u 08:15
Proveri da li podatke koje filtriras (te izvestaje), filtriras preko id-a. Postoji mogucnost da si tako nesto zaboravio.

Ili, pogledaj i suprotnu varijantu: da li se u bazi pored svakog izvestaja koji korisnik "unese" nalazi odgovarajuci id korisnika.

Ako i dalje imas problema, a ovo ti nije pomoglo (ovo ti je najbazicnija stvar) postavi kod pa da ga zajedno analiziramo...


To me boxing is like a ballet, except
there is no choreography, no dancing and the dancers hit each other...
24.07.2007. u 08:15 

Mentuz
Sarajevo

Član broj: 152180
Poruke: 18
*.PPPoE-635.sa.bih.net.ba.



Profil

icon Re: ASP.NET - Zbrka sa vise klijenata24.07.2007. u 09:00
Problem uopste nije u bazi podataka jer svaki izvjestaj sadrzi id korisnika koji ga je ostavio plus id projekta za koji se postavlja taj izvjestaj (id projekta nije sporan). Nema nikakvih problema kada samo jedan korisnik radi - tada sve radi perfektno. Cim se logiraju dvojica, njihovi id-jevi se pomijesaju, bilo da se radi na istom racunaru (pokrenuta dva IE) ili na dva racunara (u mrezi). Jednostavno, ako sam se ja logirao poslije nekoga, automatski se moj id prepise preko njegovog tako da se njemu ucitaju moji izvjestaji. Nije mi jasno zasto se to desava.
Evo kako sam to uradio (izbacicu nevazne stvari):

Login.aspx

Code:
Session["ID"] = dataSet.Tables[0].Rows[0][0].ToString(); //id korisnika
                                    
this.Response.Redirect("User.aspx"); 



User.aspx

Code:

...
public static string id_korisnika = null;
...

private void Page_Load(object sender, System.EventArgs e)
{
            

    Response.ExpiresAbsolute=DateTime.Now.AddDays(-1d);
    Response.Expires =-1500;
    Response.CacheControl = "no-cache";


    if(!this.IsPostBack)
    {    
        id_korisnika = (string)Session["ID"];
        
        ...            
    }
}


To je sve gdje sam koristio sesiju za koju smatram da je uzrok problema.
24.07.2007. u 09:00 

jablan
Mladen Jablanović
Beograd

Član broj: 8286
Poruke: 3035
194.228.230.*

Sajt: blog.radioni.ca


Profil

icon Re: ASP.NET - Zbrka sa vise klijenata24.07.2007. u 09:19
Biće da ti je već istekao kuki kad uradiš redirekciju. Što uopšte šalješ te Expires headere? .NET se sam stara da se dinamičke stranice ne keširaju.
24.07.2007. u 09:19 

Smireni Magnet
softver inzenjer

Član broj: 9520
Poruke: 79
195.66.163.*



Profil

icon Re: ASP.NET - Zbrka sa vise klijenata24.07.2007. u 09:27
Brisi ovo:
Code:
        
        Response.ExpiresAbsolute=DateTime.Now.AddDays(-1d);
        Response.Expires =-1500;
        Response.CacheControl = "no-cache";
\

Sta ce ti?
To me boxing is like a ballet, except
there is no choreography, no dancing and the dancers hit each other...
24.07.2007. u 09:27 

Mentuz
Sarajevo

Član broj: 152180
Poruke: 18
*.PPPoE-635.sa.bih.net.ba.



Profil

icon Re: ASP.NET - Zbrka sa vise klijenata24.07.2007. u 09:42
Citat:

Brisi ovo:

Code:
  
        Response.ExpiresAbsolute=DateTime.Now.AddDays(-1d);
        Response.Expires =-1500;
        Response.CacheControl = "no-cache";


Sta ce ti?


Obrisao sam. Problem je ostao.
24.07.2007. u 09:42 

jablan
Mladen Jablanović
Beograd

Član broj: 8286
Poruke: 3035
194.228.230.*

Sajt: blog.radioni.ca


Profil

icon Re: ASP.NET - Zbrka sa vise klijenata24.07.2007. u 09:48
A nemaš isto to i u Login.aspx?
24.07.2007. u 09:48 

Mentuz
Sarajevo

Član broj: 152180
Poruke: 18
*.PPPoE-635.sa.bih.net.ba.



Profil

icon Re: ASP.NET - Zbrka sa vise klijenata24.07.2007. u 09:54
Citat:
A nemaš isto to i u Login.aspx?


Nemam. Bilo je samo u User.aspx.
24.07.2007. u 09:54 

jablan
Mladen Jablanović
Beograd

Član broj: 8286
Poruke: 3035
194.228.230.*

Sajt: blog.radioni.ca


Profil

icon Re: ASP.NET - Zbrka sa vise klijenata24.07.2007. u 10:02
Ne znam šta da ti kažem. Evo u prilogu dve stranice koje rade to što ti hoćeš, probaj da li kod tebe rade, ako da, onda probaj da uprostiš svoje stranice što više kako bi eliminisao potencijalne probleme.
Prikačeni fajlovi
24.07.2007. u 10:02 

Drasko M
Beograd

Član broj: 136941
Poruke: 27
..super.turbo.adsl.beotel.net.

Sajt: www.direktnaprodaja.com


Profil

icon Re: ASP.NET - Zbrka sa vise klijenata24.07.2007. u 12:54
Na osnovi problema koji ste opisali reklo bi se da negde u kodu upisijete na isto mesto user ID za sve korisnike. Posto koristite citanje/upis preko dataseta to je verovatno neki update metod.
Ako vec imate jedinstven ID za svakog korisnika i cuvate ga u posebnoj session varijabli zasto uopste skladistite taj podatak u bazi posebno?
24.07.2007. u 12:54 

Mentuz
Sarajevo

Član broj: 152180
Poruke: 18
*.PPPoE-5515.sa.bih.net.ba.



Profil

icon Re: ASP.NET - Zbrka sa vise klijenata24.07.2007. u 13:17
Citat:
Ako vec imate jedinstven ID za svakog korisnika i cuvate ga u posebnoj session varijabli zasto uopste skladistite taj podatak u bazi posebno?


Na osnovu username-a i passworda-a uzmem id_korisnika koji zatim proslijedim preko sesije kako bi na osnovu tog id-a mogao iz baze ucitati projekte (id_projekta i id_korisnika), a zatim eventualnim klikom na projekt i izvjestaje za taj projekt (id_korisnika, id_projekta). Sve lijepo radi do momenta kada neko drugi pokrene npr. IE logira se sa svojim username-om i password-om i tada njegov id_korisnika postaje i moj id_korisnika. Jednostavno se tudji id_korisnika prepise preko mog id_korisnika. Kako je to moguce, zar .NET nema nekakav mehanizam da to sve lijepo razdvoji ili se i to mora isprogramirati? Da nije slicajno problem u tome sto sam id_korisnika deklarisao kao public static string id_korisnika = null;?

P.S. Radim sa .NET Frameworkom 1.1

24.07.2007. u 13:17 

jablan
Mladen Jablanović
Beograd

Član broj: 8286
Poruke: 3035
194.228.230.*

Sajt: blog.radioni.ca


Profil

icon Re: ASP.NET - Zbrka sa vise klijenata24.07.2007. u 13:27
Jeste problem, ne treba da bude static.
24.07.2007. u 13:27 

Mentuz
Sarajevo

Član broj: 152180
Poruke: 18
*.PPPoE-5515.sa.bih.net.ba.



Profil

icon Re: ASP.NET - Zbrka sa vise klijenata24.07.2007. u 14:30
U pravu si :)
24.07.2007. u 14:30 

[es] :: .NET :: ASP.NET :: ASP.NET - Zbrka sa vise klijenata

[ Pregleda: 688 | Odgovora: 16 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.