2012-04-02 10 views
3

Dies ist für die Suche nach einer Antwort auf eine Frage, die ich in einer technischen Diskussion konfrontiert.Wie ASP.NET gleichzeitige Benutzeranfragen behandelt?

In einer Reisebuchungswebseite waren 50 Tickets verfügbar. Jetzt ist nur noch ein Ticket übrig.2 Benutzer, die gleichzeitig den Webserver erreichen, unter Berücksichtigung von Asp .net kann gleichzeitige Anfragen verarbeiten.

q. 1) Wie ASP.NET diese Anforderungen behandelt?

2) Es gibt eine Möglichkeit für einen der Benutzer, das letzte ticket.what is it?

Ich denke, Asp. NET Architektur tief verstehen ist erforderlich, um diese Frage zu beantworten.

kann mir jemand einen Einblick geben.

Dank SNA

+0

was ich von der Diskussion selbst gehört habe, ist, dass viele Reisewebseiten aus irgendeinem Grund (vielleicht etwas beim Implementieren fehlen) Leute zwicken (http get post) und bekomme das Ticket. – SNA

Antwort

4

1) Wie asp .net diese Anforderungen verarbeitet?

Gleichzeitig.

2) Es gibt eine Möglichkeit für einen der Benutzer, das letzte ticket.what is it?

Es hängt davon ab, was Sie unter bekommen ein Ticket. Wenn Sie mit einem Ticket das Aktualisieren eines Feldes in der Datenbank meinen, dann liegt es an Ihrer Datenbank, damit umzugehen. Wenn Sie Transaktionen verwenden, ist es wahrscheinlich die erste SQL-Abfrage, die das UPDATE initiiert, und die zweite schlägt fehl, wenn Sie eine Art von Einschränkungen auf Datenbankebene verwenden. Aber auch das wird von der konkreten Umsetzung abhängen.

+0

wenn beide Benutzer den Server genau zur gleichen Zeit. Da Asp. NET-Anfragen gleichzeitig, wird sowohl die Abfrage zu aktualisieren Status (wahrscheinlich gebucht = wahr etwas wie diese) initiieren.wenn es Abfrage ist, welche Benutzerabfrage Vorrang haben? wie asp.net das entscheiden? – SNA

+2

@SNA, ASP.NET entscheidet das nicht. Es führt beide Anfragen parallel aus. Wenn Sie im Code hinter ADO.NET eine Verbindung zu einer Datenbank herstellen, hängt alles davon ab, wie sich Ihre Datenbank verhält, wenn zwei gleichzeitige SQL-Anforderungen an sie gesendet werden. Das hat wirklich nichts mit ASP.NET zu tun. –

+0

danke .ich habe es verstanden. – SNA

2

Sie sollten sich in diesem Fall keine Sorgen über Front-End-Concurrency machen, IIS wird sich darum kümmern. Viel wichtiger wäre eine korrekte Datenbankimplementierung mit sorgfältig ausgewählten Transaktionsisolationsebenen, Deadlockhandhabung usw.

Verwandte Themen