我们有一个 SharePoint 网站,其中包含一个专为 Web 和移动设备设计的自定义应用程序,我们正在尝试将其从 SP2007 升级到 SP2010。该站点包含 mp4 文件的播放列表。我们在站点上激活了 asp.net 会话状态,以便在自定义应用程序中使用。我们还将 URL 重写为 HTTPS。
这些文件存储在磁盘上并通过虚拟目录进行访问。
通过 SP2010 网站(非移动)访问文件时,mp4 文件播放得很好。
当从移动浏览器访问完全相同的 url 时,我们会收到以下消息:
Session state can only be used when enableSessionState is set to true, either in a
configuration file or in the Page directive. Please also make sure that
System.Web.SessionStateModule or a custom session state module is included in the
<configuration>\<system.web>\<httpModules> section in the application configuration.
我们确实在 <configuration>\<system.webServer>\<modules> 中声明了 SessionStateModule,如下所示:
<add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition="" />
我们也尝试过不使用 preCondition 并使用 preCondition="integratedMode"。
url 的示例是https://example.com/Assets/Job63/8f9e85d5-d7f3-4536-a9b1-69537b7da9bf/Previews/0568145f-b314-4354-a081-d72019a42d11.mp4(域已更改以保护清白的)。
虚拟目录是 /Assets,它指向 ac:\Assets 目录。
即使使用 FireFox 并将用户代理更改为模拟移动设备也会发生此行为,因此它似乎是拦截移动设备请求的东西。
该站点上的其他会话状态答案似乎都没有涵盖此问题。
我们还在网站的 IIS 模块列表中声明了 SessionStateModule。
什么可能导致这个问题?