Frage

Ich lief in ein Problem, wo ich eine Html.DropDownList meiner Ansicht nach hatte, dass der ausgewählten Wert zum ersten Mal Postback würde ich das Formular abgeschickt, aber jede nachfolgende Postbacks würde nur post-Daten aus dem ursprünglichen Postbacks. So hat ich Lebensstil = „transient“ auf das Komponentenelement, wo ich meinen Controller für Schloss windsor konfiguriert war, die das Problem behoben, aber natürlich gemacht Postbacks länger dauern, da eine neue Steuerung wurde pro Anforderung instanziiert. In Anbetracht über die Informationen, welche Einsicht, Vorschläge oder Lösungen könnten meine ursprüngliche Frage über den Controller Lebensstil ermitteln? Vielen Dank für alle Hilfe und Unterstützung!

War es hilfreich?

Lösung

MVC-Controller sind vergänglich. Denken Sie darüber nach, das macht Sinn für ein paar Gründe. Erstens, wenn eine einzelne Instanz auf Service mehr Anfragen verwendet und wenn mehrere Anfragen passieren den gleichen Controller zur gleichen Zeit zu treffen, Sie gehen einige recht bizarre Rennbedingungen zu erleben. Zweitens HTTP ist von Natur aus staatenlos und Anforderungen vorhanden sind unabhängig voneinander. Dies wird in dem vorübergehenden Lebensstil des Controller wider.

Andere Tipps

Transient, ja, aber Interesse Sake, warum nicht PerWebRequest statt Transient? Ich habe ein paar Blogs gesehen, die PerWebRequest Lebensstil verwenden und ich kann aus einem Grund nicht, warum nicht. Jede Antwort?

Ich stimme mit Dion. Landed hier für Lösung dieser gleichen Frage suchen. Es scheint, wie PerWebRequest besser geeignet.

Je nachdem, wie Sie Ihren Behälter in MVC und WebAPI integrieren, könnten Sie nicht Windsor werden anweist Abhängigkeiten zu lösen, wenn Ihr Controller nicht mehr verwendet wird.

Wenn Sie es PerWebRequest gesetzt, es wird automatisch löst Ihre Steuerung, und alle seine Abhängigkeiten, wenn die Anforderung Ende

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top