Hinzufügen von Cookies zu Verlangen.Cookies-Auflistung
Ich versuche eine wrapper-Klasse erstellen zu verarbeiten Inhalt HttpContext. Erstelle ich ein cookie, aber nicht hinzufügen zu HttpContext.Request-oder Response-cookies-Auflistung.
Ich bin mit Moq.
Auch ich bin mit MvcMockHelp aus dem folgenden link:
http://www.hanselman.com/blog/ASPNETMVCSessionAtMix08TDDAndMvcMockHelpers.aspx
Wenn ich versuche, um zu Cookies, die Sammlung in meinem folgenden code:
HttpContextBase c1 = MvcMockHelpers.FakeHttpContext();
HttpCookie aCookie = new HttpCookie("userInfo");
aCookie.Values["userName"] = "Tom";
c1.Request.Cookies.Add(aCookie); <------ Error here
Bekomme ich die folgende Fehlermeldung in der 4. Zeile des Codes c1.Anfrage.Cookies.Add(aCookie);
Object reference not set to an instance of an object.
Habe ich auch schon versucht instanziieren Kontext-Objekt, wie folgt, aber noch kein Glück
HttpContextBase c = MvcMockHelpers.FakeHttpContext
("~/script/directory/NAMES.ASP?city=irvine&state=ca&country=usa");
Sehe ich, dass die Cookies-Auflistung innerhalb der Anforderung ist NULL. Wie kann ich instanziieren?
Ich habe auch versucht, die folgenden aber kein Glück.
c1.Request.Cookies["userName"].Value = "Tom";
Bitte lassen Sie mich wissen, was mache ich falsch.
- Überprüfen Sie, ob Cookies ist null, wenn das so ist, instanziert.
- Ich bin nicht in der Lage zu instanziieren Cookies.. kann ich bekommen Probe zu instanziieren c1.Anfrage.Cookies-code, wenn möglich?
- Können Sie instanziieren mit diesem Konstruktor:
FakeHttpContext(string url)
statt? Vorbei an den anfordernden url, vielleicht hilft es ja instanziieren IhreRequest
Objekt. - Ja habe ich probiert..immer noch kein Glück
- Moses, dein Kommentar c1.Anfrage.Cookies["name"] = aCookie; ungültig ist
- Antrag ist null?
- Moses.. keine seiner not null
- stackoverflow.com/questions/1225511/... - das könnte helfen
- dieser Artikel löste es für mich... blog.paulhadfield.net/2010/09/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Blick auf Hansleman code, der
Request
Eigenschaft wird erstellt, alsMock
jedoch, die Eigenschaften, die mock nicht setup, so dass ist, warumCookies
ist null, und man kann nicht gesetzt werden, da es ein nur-Lesen-Eigenschaft.Haben Sie zwei Möglichkeiten:
Cookies
Eigenschaft in derFakeHttpContext()
Methode, oder
Wenn Sie nicht möchten, dass zu tun, sagen Sie, dass Sie verweisen auf die Bibliothek direkt, dann können Sie einfach die Wiederherstellung der verspottet
HttpRequestBase
von derHttpContextBase
Sie Zugriff haben, etwa so:Mock.Get(object)
werden Sie wieder die Mock, dann können Sie Sie mit cookies auf Sie und verwenden Sie es.Im Allgemeinen, Sie können erstellen eine
Object
in seineMock
durch die Verwendung der statischen MethodeGet(MockedThing.Object)