Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I dont see this behaviour here. Can you try my sample?</p> <pre><code>using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using NLog; using System.Globalization; using System.Threading; namespace Mvc4Application.Controllers { public class GeoCodingTask { public string Photoid{get;set;} } public class User { public List&lt;GeoCodingTask&gt; PhotoGeocodingTasks {get;set;} } public class HomeController : Controller { private static Logger _logger = LogManager.GetCurrentClassLogger(); public ActionResult SetupCoordinatesTask() { User user = new User{ PhotoGeocodingTasks = new List&lt;GeoCodingTask&gt;()}; user.PhotoGeocodingTasks.Add(new GeoCodingTask{ Photoid= "id1"}); user.PhotoGeocodingTasks.Add(new GeoCodingTask { Photoid = "id2" }); Session["User"] = user ; return View("GetCoordinatesTask"); } public ActionResult GetCoordinatesTask() { User user = (User)Session["User"]; if (user == null) { _logger.Error("No user in session!"); return View(); } if (user.PhotoGeocodingTasks == null ) _logger.Debug("PhotoGeocodingTasks - null " ); if (user.PhotoGeocodingTasks.Count == 0) { _logger.Debug("Pre-processing - PhotoGeocodingTasks.Count" + user.PhotoGeocodingTasks.Count); return View(); } lock (user.PhotoGeocodingTasks) { _logger.Debug("Pre-processing - PhotoGeocodingTasks.Count" + user.PhotoGeocodingTasks.Count); var task = user.PhotoGeocodingTasks[0]; if (!user.PhotoGeocodingTasks.Remove(task)) _logger.Error("Could not remove geocoding task after picking it up!"); _logger.Debug("Post processing - SessionID: " + Session.SessionID); _logger.Debug("Post processing - PhotoGeocodingTasks.Count" + user.PhotoGeocodingTasks.Count); return View(); } } } } </code></pre> <p>I first call <a href="http://localhost:1631/home/SetupCoordinatesTask" rel="nofollow">http://localhost:1631/home/SetupCoordinatesTask</a> to setup the session and then on 2 times <a href="http://localhost:1631/home/GetCoordinatesTask" rel="nofollow">http://localhost:1631/home/GetCoordinatesTask</a> </p> <p>The result is</p> <pre><code>thread:19|2012-01-20 22:12:51.0492|DEBUG|Mvc4Application.Controllers.HomeController|Pre-processing - PhotoGeocodingTasks.Count2 thread:19|2012-01-20 22:12:51.0652|DEBUG|Mvc4Application.Controllers.HomeController|Post processing - SessionID: e4tawytx2mfq2msc3y2ajzl3 thread:19|2012-01-20 22:12:51.0652|DEBUG|Mvc4Application.Controllers.HomeController|Post processing - PhotoGeocodingTasks.Count1 thread:10|2012-01-20 22:13:01.0928|DEBUG|Mvc4Application.Controllers.HomeController|Pre-processing - PhotoGeocodingTasks.Count1 thread:10|2012-01-20 22:13:01.0928|DEBUG|Mvc4Application.Controllers.HomeController|Post processing - SessionID: e4tawytx2mfq2msc3y2ajzl3 thread:10|2012-01-20 22:13:01.0928|DEBUG|Mvc4Application.Controllers.HomeController|Post processing - PhotoGeocodingTasks.Count0 thread:15|2012-01-20 22:13:02.6698|DEBUG|Mvc4Application.Controllers.HomeController|Pre-processing - PhotoGeocodingTasks.Count0 </code></pre> <p>Can you simplify tyour code and post a complete sample?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload