У меня есть проект mvc.net, который отлично работает.Хранит ли TempData информацию, если вы пытаетесь получить доступ к методам сайта из другого домена?
Я использую этот проект как фильтр, который получает данные, фильтрует его и отправляет обратно JSON.
Пример звонков в этот проект может быть как:
public ActionResult GetSomeData()
{
var data = new List<HelloWorld>();
TempData["imageData"] = data; // get data, filter it and send back part of it and save the rest in "TEMPDATA"
var retunrdtd = new {Success = "hello world"};
return new JsonResult {Data = filteredData, JsonRequestBehavior = JsonRequestBehavior.AllowGet};
}
Я фильтровать данные, поскольку объем данных может быть большим, чтобы я отправить обратно позволяет говорить 100 Элементам списка вместо всего 10000. если г хотите еще 100, я вызываю метод, который проверяет, существует ли tempdata, и берет оставшиеся 9900 из tempdata и дает мне еще 100 и т. д.
Im думает о создании отдельного веб-api, который будет находиться в другом домене. Я хотел бы назвать те методы, которые у меня есть в моем текущем проекте, например:
www.myFilterMvcDotNet.com/home/GetSomeData
Но им не уверен, если TempData будет занимать какую-либо ценность, как только я получил первые 100 списков. Так что мой вопрос прост, не так ли? если не самый лучший способ отслеживать данные, полученные и оставшиеся данные?
Im далеко от эксперта по этому вопросу, но это было при моем понимании, что сессии были созданы только, если вы на самом деле ауте сайта? в моем случае я просто сделаю вызов метода из другого домена, я не буду посещать сайт. Tempdata хранит данные между запросом, я проверяю, является ли оно нулевым в методе, и если я храню данные в нем для нового запроса. Во втором запросе у моей tempdata есть данные, в которых я использую его и снова храню новые tempdata. – ThunD3eR
Использование сеанса - это правильный способ сделать то, что вам нужно. Просто замените TempData на Session. Прочитайте документацию о TempData, которую вы увидите. С помощью сеанса вы сохраняете данные для указанного срока службы с одним запросом. С вашим решением actuel вы отправляете запрос каждый раз, когда пользователю нужны некоторые данные, тогда нет никакой пользы для хранения данных, которые будут потеряны. – CodeNotFound
Спасибо @CodeNotFound – ThunD3eR