SP2007 から SP2010 にアップグレードしようとしている、Web とモバイルの両方用に設計されたカスタム アプリケーションを含む SharePoint サイトがあります。このサイトには、mp4 ファイルのプレイリストが含まれています。カスタム アプリケーション内で使用するために、サイトで asp.net セッション状態がアクティブになっています。また、URL を HTTPS に書き換えます。
ファイルはディスクに保存され、仮想ディレクトリを介してアクセスされます。
SP2010 Web サイト (モバイル以外) からファイルにアクセスすると、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 を使用し、ユーザー エージェントをモバイルをシミュレートするように変更しても発生するため、モバイル リクエストを傍受するものと思われます。
サイト上の他のセッション状態の回答はどれも、この問題をカバーしていないようです。
また、Web サイトの IIS モジュール リストで SessionStateModule が宣言されています。
この問題の原因は何ですか?