2011-05-12 2 views
0

Я пытаюсь реализовать условный get в моем контроллере. Я задал аналогичный вопрос несколько дней назад, но вряд ли получил ответы на этот вопрос: Handle HTTP-Headers and status codes in controller Я думал, что, может быть, я не объяснил себя правильно, поэтому я даю новую попытку. Так вот оно. С передней стороны я делаю длинное решение опроса, где я получаю данные с регулярным интервалом. Данные поступают в формате json. В моем контроллере я возвращаю набор результатов. То, что я хотел бы сделать, это проверить заголовки запросов, чтобы, если они не были изменены с момента последней выборки, я не получу данные снова. Это то, что я до сих пор:Как реализовать условный get?

public ActionResult Index() 
    { 

     var ifModifiedSince = Request.Headers["If-Modified-Since"]; 

      if(!String.IsNullOrEmpty(ifModifiedSince)) 
      { 
       Response.StatusCode = 304; 
       Response.StatusDescription = "304 Not Modified"; 
       Response.End(); 
       return new EmptyResult(); <--- not sure what I should return here. 
      } 
      else 
      { 
       return View("Index"); 

      } 

    } 

Bare в виду, что это я несколько раз менялись, и я очень устал, так что migth быть некоторые очевидные ошибки здесь. Я извлекаю данные из базы данных. Я мог бы объявить, что данные отображаются в решении карты google. У кого-нибудь есть какие-то предложения? Благодарен за любые указатели.

С уважением

ответ

0

Есть несколько подобных вопросов к этому, если вы хотите, чтобы сделать длинный решение опроса.

Comet implementation for ASP.NET?

Общий consenus является то, что это может быть сложно масштабировать.

Существует также этот пример реализации

https://bitbucket.org/jacob4u2/mvcchatsite/src

+0

да я прочитал эту нить все это казалось хорошим примером. Думаю, поскольку я не знаком с MVC2 и занимаюсь длинными опросами, многие примеры казались излишними. Когда я читал о нитях ploblems с IIS, мы должны были работать. Прямо сейчас мы получаем данные, подталкиваемые нам. Из-за этого я сделал длинное голосовое решение ajax, которое использует setTimeOut. Итак, вы думаете, что проверка заголовков запросов не поможет? – Tim