0

我有一个奇怪的问题..我有一个在 .net 2.0 框架上运行的 Web (asp.net) 应用程序。我在 windows server 2003 上,我刚刚将它移到 windows 2008 r2 64 位上。由于移至win2k8,移动设备(主要是iPhone)无法访问该应用程序。iphone 可以访问的唯一方法是将用户代理字符串更改为桌面。虽然在 android 平板电脑上(用户代理字符串 = 平板电脑不是移动设备)它工作正常。

非常令人困惑的是,我有一个同一服务器的 vmware 实例,我在那里安装了这个 Web 应用程序但没有这样的问题,在 Windows 7 上,没有问题,我有另一台具有类似 env win2k8 r2 64 的测试机器,它显示没有这样的问题...但仅在我遇到这个烦人问题的这台生产机器上...是否有人知道 IIS 中的某些设置可能导致应用程序无法使用移动用户代理字符串创建会话?

4

1 回答 1

0

这是以防万一其他人遇到类似的问题,我终于弄清楚了为什么在一台机器上而不是在其他机器上出现这种行为......这真是太可怕了,但我做到了。

此问题是在安装 Windows Server 2008 r2 SP1 时引入的。我可以随意重现该问题,如果删除 SP1,所有工作都像以前一样,并且一旦我重新安装 SP1,我就会收到此错误。

我一直都知道应用程序的重定向部分,但我的问题是为什么这个重定向对所有其他实例都没有影响,而在这个实例上它确实如此。

很明显,使用 SP1 时,一些 .net 代码要么开始工作,而以前(完全或部分)不工作。

SP1 的问题代码是应用程序确定请求是否来自移动设备的地方...在 SP1 for win 2008 r2 中,它会抛出异常

于 2013-10-14T20:28:40.333 回答