[ stargatenow @ 04.07.2009. 16:00 ] @
Treba da napravim web aplikaciju koju ce koristiti N korisnika paralelno, i koja radi sa jednom bazom. Bazi ne mogu da pristupim direktno, vec samo koristeci odredjeni .NET API (koji bazi pristupa preko nekih trecih servera). Ali, problem mi je sto mogu da ostvarim samo mali broj konekcija ka bazi koristeci API (zbog licenci); broj tih konekcija ce biti mnogo manji od N. Na koji nacin je najbolje izvesti ovo? Ova resenja su mi pala na pamet: 1. Web aplikacija pri svakoj komunikaciji sa bazom uspostavi konekciju, i cim zavrsi operaciju, raskine je. Ovo mi se cini kao jako lose resenje, jer app mora da se uloguje kao neki user u sistem (da bi koristila API), pa moze da se desi da proba da se uloguje sa userom koji trenutno koristi web app na nekom drugom kompu. Posto ovako ne moze da se napravi neki red cekanja, lako moze doci do toga da web app na nekim kompjuterima ne moze da dodje do konekcije jako dugo. 2. Napravim posebnu app, koja bi radila kao servis na web serveru, i koja bi bila data layer - non stop bi drzala tih par sesija ka bazi otvorenim, i imala bi neki red cekanja za zahteve od web aplikacija. Web app bi joj slala zahteve preko TCP. Da li se ovo drugo resenje moze nekako integrisati u ASP.NET aplikaciju? Tako da u toj web app uvek postoji neki rezidentan deo koji non stop radi u pozadini i vodi racuna o konekcijama. Postoji li jos neki elegantniji nacin da se sve ovo izvede? |