Ein Argument für die Verwendung von ASP.NET MVC war für mich, daß ich damit JMeter für Performancetests nutzen kann. Für Asp.net Webforms ist das nicht möglich, weil JMeter nicht mit dem ViewState zurande kommt.
Zunächst hatte ich ein Problem bei der Verwendung von anonymen Benutzern. Die Abfrage von HttpContext.Profile.UserName ergab bei jedem Request einen anderen Wert.
Die Requests durch Webbrowser ergaben aber ein anderes Verhalten - der UserName blieb gleich.
Die Suche mit Fiddler brachte mich der Lösung schon etwas näher: Der Cookie .ASPXANONYMOUS enthällt offensichtlich immer den UserName. Die Logs von JMeter zeigten aber einen wechselnden Wert in .ASPXANONYMOUS.
Merkwürdig war, dass ich bei einigen Requests den UserName beibehielt. Am Ende konnte ich dann sehen, daß genau bei ControllerActions auf Post Requests, die ein RedirectToAction verwenden einen wechselnden UserName habe. RedirectToAction führt zu einer Http Meldung 302 (Content Moved ). Clients gehen mit dieser Meldung unterschiedlich um. Bei dem Get auf die neue Adresse werden die ursprünglichen Cookies mitgeschickt, oder nicht. JMeter schickt sie in der Grundeinstellung nicht mit.
Man kann das aber ändern.
Der Haken bei "Automatischen Redirects folgen" muss raus, und bei "Folge Redirects" rein.
Beim Debuggen des Problems bin ich auf http://www.ieinspector.com/ gestoßen. Das Tool macht es sehr einfach auch Traffic auf localhost zu untersuchen. Mit Fiddler ist das nicht immer so einfach möglich.
Freitag, 28. November 2008
Abonnieren
Kommentare zum Post (Atom)

0 Kommentare:
Kommentar veröffentlichen