Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc Internet Explorer Mobile和MVC应用程序的问题_Asp.net Mvc_Asp.net Mvc 3_Windows Phone 7 - Fatal编程技术网

Asp.net mvc Internet Explorer Mobile和MVC应用程序的问题

Asp.net mvc Internet Explorer Mobile和MVC应用程序的问题,asp.net-mvc,asp.net-mvc-3,windows-phone-7,Asp.net Mvc,Asp.net Mvc 3,Windows Phone 7,我最近开发了第一个使用SQLCompact 4数据库的MVC3应用程序(首先通过EF4.1代码)。它在多个浏览器上运行良好。然而,当我在WindowsPhone 7手机上使用它时,有时会遇到并发错误,并且没有执行表单发布。有什么我需要注意的问题吗 编辑: 发生了什么(但并非始终如一): 我在Edit.cshtml页面上更新了IE mobile上的一些数据 发布后,引擎发回Details.cshtml,显示数据尚未更新 但是,当我使用其他浏览器检查时,数据已更新 我再次按照ActionLInk访

我最近开发了第一个使用SQLCompact 4数据库的MVC3应用程序(首先通过EF4.1代码)。它在多个浏览器上运行良好。然而,当我在WindowsPhone 7手机上使用它时,有时会遇到并发错误,并且没有执行表单发布。有什么我需要注意的问题吗

编辑: 发生了什么(但并非始终如一):

  • 我在Edit.cshtml页面上更新了IE mobile上的一些数据
  • 发布后,引擎发回Details.cshtml,显示数据尚未更新
  • 但是,当我使用其他浏览器检查时,数据已更新
  • 我再次按照ActionLInk访问Edit.cshtml页面,并尝试再次更新数据
  • 发布时,服务器上会发生DbConcurrency异常,然后(通过刷新上下文)处理该异常。这会再次发回编辑页面
  • 现在,在发布时,一切都很好
这种行为不能在包括苹果在内的任何其他浏览器上重现。 昨天我甚至在发帖时对手机进行了软重置

  • 我在Edit.cshtml页面上更新了IE mobile上的一些数据
  • 发布后,引擎发回Details.cshtml,显示数据尚未更新
  • 但是,当我使用其他浏览器检查时,数据已更新
在我看来,这更像是移动设备浏览器中的缓存问题

你是如何写文章的,是通过AJAX还是仅仅通过

发布时,服务器上会发生DbConcurrency异常,然后(通过刷新上下文)处理该异常。这会再次发回编辑页面

这是否表明您的上下文在上一篇文章中仍然有效

找到这个了吗

当预期行为是实体的SaveChanges将导致数据库更新,但实际上数据库中的任何行都不受影响时,DbContext引发异常。这通常表示数据库已被并发更新,而预期匹配的并发令牌实际上并不匹配。由于安全原因,此异常引用的状态项未序列化,序列化后对状态项的访问将返回null

这可以解释为第二篇文章实际上没有更新,或者我的解释是错误的


我仍然在考虑缓存,根据我的经验,
OutputCaching
有时可能会产生此问题,但我认为这会影响所有浏览器,但我不确定。

您收到的错误是什么?如果您遇到并发问题,您在哪里创建上下文?还是我错误地认为这些并发问题涉及数据库?@Major Byte:上下文是在控制器级别生成的:
public class SomeController{private MyContext db=new MyContext();…}
你能发布你收到的错误的堆栈跟踪吗?@Darin Dimitrov:这很难:DbUpdateConcurrencyException被抛出,当然是因为之前发生了其他错误,我需要找到这个问题。例如,我可以将IE mobile连接到IDE吗?