我對南希很陌生,希望我只是在這裏做一些愚蠢的事情。我有一個南希服務,我張貼的數據,像這樣:Nancyfx Request.Session不在AJAX上保留值
$.ajax({
type: 'POST',
url: url,
data: JSON.stringify({
searchTerm: productSearchTerm,
pageSize: pageView.PageSize(),
selectedBrands: pageView.checkedBrands(),
pageNumber: pageView.CurrentPage(),
selectedCategories: pageView.checkedCategories(),
selectedGender: pageView.checkedGender(),
SelectedColours: pageView.checkedColour(),
saleItemsOnly: pageView.saleItemsOnly(),
selectedMinimumPrice: pageView.minPrice(),
selectedMaximumPrice: pageView.maxPrice()
}),
contentType: "application/json; charset=utf-8",
dataType: 'json'
})
.done(function (data) {
bindSearchResult(data);
})
.fail(function (a) {
console.log(a);
});
然後在服務我需要扶住了一堆從用戶將來的請求,我敢字符串值做這樣的:
private void AddListOfStringToIsSessionNull(string name, IEnumerable<string> data)
{
if (Session[name] == null)
{
Session[name] = data.ToList();
}
}
這些似乎設置會話變量和一個「_nc」 cookie的存在,當我檢查頁面返回後。
但是,如果我然後F5頁面的會話項目都在服務器再次全部爲空。
我排除了跨網站發佈,因爲它都在同一個域。
這可能是一個AJAX的東西?似乎不太可能,因爲這似乎是一個非常標準的事情。 還是你不能在POST上設置它? 如果是的話,有沒有辦法解決這個問題?
如果有人可以幫助我很否則我將不得不恢復到在WCF寫這個,這將讓我投我自己從窗口:)
非常感謝永遠心存感激。
編輯
- 公開賽在丁目新的隱身窗口,我打的主頁,沒有南希的cookie 存在(這是正確的)
- 輸入其回撥過去,AJAX後和搜索詞抓取JSON,還彈出南希會話中的字符串列表
檢查cookie,南非人已經出現像這樣以及會話值在回發時正確:
npTBnqPp99nLd5fU0%2btJbq%2fY%2bdf2UFWTaq5D28Az7Jw%3dzF8cIHNxTWX399sbmowjheho2S29ocpKs1TXD51BrbyPPNCeLfAcYqWhkRHqWdwKJNED5kuspllIjhI5rf2W6NKtf8xo68BlF5eLLgJxMtAxw2yD2ednEzUazq1XBt2Id77t5LE5tZVwkpRGDT5b9J0nQnr9zfzCOALXb2hQQGBPkMVyNNTO24pW1UC6Uda3B86LLYA02Jgy4G9DiT6KsutR3pSXO8AZFOlcmAEHbSSX9A8FAHaL ... etc.
- 然後我搜索一個不同的搜索詞,它調用這一位代碼: --Session.DeleteAll();
- 南希會話重新填充新的數據並返回給瀏覽器
但是在這一點上的cookie尚未更新用新值仍然如下:
npTBnqPp99nLd5fU0%2btJbq%2fY%2bdf2UFWTaq5D28Az7Jw%3dzF8cIHNxTWX399sbmowjheho2S29ocpKs1TXD51BrbyPPNCeLfAcYqWhkRHqWdwKJNED5kuspllIjhI5rf2W6NKtf8xo68BlF5eLLgJxMtAxw2yD2ednEzUazq1XBt2Id77t5LE5tZVwkpRGDT5b9J0nQnr9zfzCOALXb2hQQGBPkMVyNNTO24pW1UC6Uda3B86LLYA02Jgy4G9DiT6KsutR3pSXO8AZFOlcmAEHbSSX9A8FAHaL.... etc.
還有什麼我需要做的解決這個?
我知道你說你已經排除了CORS,但你可能希望看看這篇文章,看看它是否引發任何見解 - http://stackoverflow.com/questions/2870371/why-is-jquerys -ajax-method-not-sending-my-session-cookie –
否則請加入我們的NancyFX JabbR會議室,與開發人員和其他用戶交談https://jabbr.net/#/rooms/nancyfx –