2011-05-12 10 views
0

私はコントローラに条件付き取得を実装しようとしています。私は数日前に同様の質問をしましたが、その回答はほとんどありませんでした。Handle HTTP-Headers and status codes in controller 私は自分自身を正しく説明していないかもしれないと思ったので、私は新しい試みをしています。だからここにある。フロントエンドからは、定期的な間隔でデータを取得する長いポーリングソリューションを実行しています。データはjsonの形式で提供されます。私のコントローラでは、結果セットを返します。私がしたいのは、リクエストヘッダーをチェックして、最後にフェッチしてから変更しなければ、データをもう一度取得しないようにすることです。条件付き取得を実装するには?

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"); 

      } 

    } 

ベアを念頭に置いて、この私は何度か変更されているし、ここでいくつかの明らかなエラーが存在することがmigthので、私はかなり疲れていること:これは私がこれまでに得たものです。私はデータベースからデータを取得しています。私は、データがGoogleマップのソリューションに表示されることを広告するかもしれません。だから誰にも何か提案がありますか?何か指摘していただきありがとうございます。あなたが長いポーリングソリューションを行うために探している場合

よろしく

答えて

0

は、次のような質問がいくつかあります。

Comet implementation for ASP.NET?

一般consenusは、拡張するのが難しいことができることです。

この実装例では

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

+0

もあり、そう私は、そのスレッドを読んだANそれはすべてのように良い例が見えました。私は、MVC2に精通していないし、長いポーリングソリューションを行っているので、多くの例が過度のように見えると思います。私がIISでスレッドploblemsについて読んだとき、私たちは回避策を講じなければなりませんでした。今はデータが私たちにプッシュされています。そのため、setTimeOutを使用するajax long pollingソリューションを作成しました。だからあなたは、リクエストのヘッダーをチェックすると、トリックをしないと思う? – Tim

関連する問題