我在iis 7.5上运行了一个带有asp.net mvc 5的网络应用程序。我有一个用DropZone(一个javascript ajax上传插件)制作的照片上传页面。在我的asp.net控制器中,在某些错误期间,我返回一个500的httpstatuscode,其状态描述带有描述性错误。 DropZone然后显示此描述性错误。一切都在桌面设备上运行,但是当在iOS设备上使用时,它会显示通用的“内部服务器错误”#34;信息。
我迷失了如何解决这个问题。我在我的javascript代码中放置了javascript警报,试图弄清楚问题是什么,但没有透露任何有用的信息。我尝试使用MIHTool ipad应用程序和HttpWatchBasic ipad应用程序尝试设置断点,但这也没有用。
有没有办法从iPad远程调试asp.net网络应用程序? (我有visual studio 2013 premium)或者有没有人有任何想法可能会导致不同的状态代码被发送?
更新:似乎iOS设备忽略任何自定义xhr.statusText并使用标准默认statusText(即代码500是内部服务器错误)。作为一种解决方法(我讨厌这样做,但由于这主要是在公司的iPad上使用,我没有多少选择)我已经为每个可能的异常返回了不同的500类代码,然后在javascript中代码检查状态代码并在javascript代码中指定我自己的自定义错误消息。
答案 0 :(得分:0)
查看实际异常的最快捷最简单的方法是关闭Web.config中的自定义错误 - 然后您就可以在iPad上查看实际的堆栈跟踪。
如果您希望能够调试异常,您应该能够通过在调试器中运行时点击Windows开发机器从iPad访问该站点来触发它。您需要配置IIS express以允许远程连接(编辑应用程序host.config),添加urlacl,并在必要时打开Windows防火墙。在线设置有很多指南。
如果您想在移动版Safari中实际调试JS,可以从Mac版本的Safari获取 - 有关详细信息,请参阅http://webdesign.tutsplus.com/articles/quick-tip-using-web-inspector-to-debug-mobile-safari--webdesign-8787。