0

我们有一个 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。

什么可能导致这个问题?

4

1 回答 1

0

我们能够通过将包含以下内容的 web.config 文件放入 assets 文件夹来解决此问题。显然,SharePoint 在 SP2010 中所做的激进的移动重定向会导致问题,如以下网址所述 - http://blog.mastykarz.nl/inconvenient-sharepoint-2010-mobile-redirect/

web.config 内容:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.web>
    <browserCaps>
      <result type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
      <filter>isMobileDevice=false</filter>
    </browserCaps>
  </system.web>
</configuration>
于 2012-08-29T18:57:57.670 回答