本文整理汇总了C#中Nancy.Session.CookieBasedSessions.Load方法的典型用法代码示例。如果您正苦于以下问题:C# CookieBasedSessions.Load方法的具体用法?C# CookieBasedSessions.Load怎么用?C# CookieBasedSessions.Load使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Nancy.Session.CookieBasedSessions
的用法示例。
在下文中一共展示了CookieBasedSessions.Load方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Should_return_blank_session_if_encrypted_data_modified
public void Should_return_blank_session_if_encrypted_data_modified()
{
var inputValue = ValidHmac + ValidData.Substring(0, ValidData.Length - 1) + "Z";
inputValue = HttpUtility.UrlEncode(inputValue);
var store = new CookieBasedSessions(this.rijndaelEncryptionProvider, this.defaultHmacProvider, this.defaultObjectSerializer);
var request = new Request("GET", "/", "http");
request.Cookies.Add(store.CookieName, inputValue);
var result = store.Load(request);
result.Count.ShouldEqual(0);
}
示例2: Should_return_blank_session_if_encrypted_data_are_invalid_but_contain_semicolon_when_decrypted
public void Should_return_blank_session_if_encrypted_data_are_invalid_but_contain_semicolon_when_decrypted()
{
var bogusEncrypted = this.rijndaelEncryptionProvider.Encrypt("foo;bar");
var inputValue = ValidHmac + bogusEncrypted;
inputValue = HttpUtility.UrlEncode(inputValue);
var store = new CookieBasedSessions(this.rijndaelEncryptionProvider, this.defaultHmacProvider, this.defaultObjectSerializer);
var request = new Request("GET", "/", "http");
request.Cookies.Add(store.CookieName, inputValue);
var result = store.Load(request);
result.Count.ShouldEqual(0);
}
示例3: Should_be_able_to_load_an_object_previously_saved_to_session
public void Should_be_able_to_load_an_object_previously_saved_to_session()
{
var response = new Response();
var session = new Session(new Dictionary<string, object>());
var payload = new DefaultSessionObjectFormatterFixture.Payload(27, true, "Test string");
var store = new CookieBasedSessions(this.rijndaelEncryptionProvider, this.defaultHmacProvider, this.defaultObjectSerializer);
session["testObject"] = payload;
store.Save(session, response);
var request = new Request("GET", "/", "http");
request.Cookies.Add(Helpers.HttpUtility.UrlEncode(response.Cookies.First().Name), Helpers.HttpUtility.UrlEncode(response.Cookies.First().Value));
var result = store.Load(request);
result["testObject"].ShouldEqual(payload);
}
示例4: Should_load_valid_test_data
public void Should_load_valid_test_data()
{
var inputValue = ValidHmac + ValidData;
inputValue = HttpUtility.UrlEncode(inputValue);
var store = new CookieBasedSessions(this.rijndaelEncryptionProvider, this.defaultHmacProvider, this.defaultObjectSerializer);
var request = new Request("GET", "/", "http");
request.Cookies.Add(store.CookieName, inputValue);
var result = store.Load(request);
result.Count.ShouldEqual(1);
result.First().Value.ShouldBeOfType(typeof(DefaultSessionObjectFormatterFixture.Payload));
}
示例5: Should_call_formatter_on_load
public void Should_call_formatter_on_load()
{
var fakeFormatter = A.Fake<IObjectSerializer>();
A.CallTo(() => this.fakeEncryptionProvider.Decrypt("encryptedkey1=value1")).Returns("key1=value1;");
var store = new CookieBasedSessions(this.fakeEncryptionProvider, this.fakeHmacProvider, fakeFormatter);
var request = CreateRequest("encryptedkey1=value1", false);
store.Load(request);
A.CallTo(() => fakeFormatter.Deserialize("value1")).MustHaveHappened(Repeated.Exactly.Once);
}
示例6: Should_load_an_empty_session_if_session_cookie_is_invalid
public void Should_load_an_empty_session_if_session_cookie_is_invalid()
{
//given
var inputValue = ValidHmac.Substring(0, 5); //invalid Hmac
inputValue = HttpUtility.UrlEncode(inputValue);
var store = new CookieBasedSessions(this.rijndaelEncryptionProvider, this.defaultHmacProvider, this.defaultObjectSerializer);
var request = new Request("GET", "/", "http");
request.Cookies.Add(store.CookieName, inputValue);
//when
var result = store.Load(request);
//then
result.Count.ShouldEqual(0);
}
示例7: Should_return_blank_session_if_hmac_missing
public void Should_return_blank_session_if_hmac_missing()
{
var inputValue = ValidData;
inputValue = HttpUtility.UrlEncode(inputValue);
var store = new CookieBasedSessions(this.aesEncryptionProvider, this.defaultHmacProvider, this.defaultObjectSerializer);
var request = new Request("GET", "/", "http");
request.Cookies.Add(store.CookieName, inputValue);
var result = store.Load(request);
result.Count.ShouldEqual(0);
}
示例8: Should_return_blank_session_if_hmac_changed
public void Should_return_blank_session_if_hmac_changed()
{
var inputValue = "b" + ValidHmac.Substring(1) + ValidData;
inputValue = HttpUtility.UrlEncode(inputValue);
var store = new CookieBasedSessions(this.rijndaelEncryptionProvider, this.defaultHmacProvider, new DefaultObjectSerializer());
var request = new Request("GET", "/", "http");
request.Cookies.Add(CookieBasedSessions.GetCookieName(), inputValue);
var result = store.Load(request);
result.Count.ShouldEqual(0);
}
示例9: LoadSession
/// <summary>
/// Loads the request session
/// </summary>
/// <param name="context">Nancy context</param>
/// <param name="sessionStore">Session store</param>
/// <returns>Always returns null</returns>
private static Response LoadSession(NancyContext context, CookieBasedSessions sessionStore)
{
if (context.Request == null)
{
return null;
}
context.Request.Session = sessionStore.Load(context.Request);
return null;
}