2011-09-29 2 views
0

XP Pro IIS5.1ですべて正常に動作しますが、IIS 6ではこれまでの数日間、Silverlightを単純に取得するためにすべてを試しました.wmaファイル拡張子がIISの.Netにマップされているときに.wmaファイルを再生する(ホームディレクトリ>構成を使用して拡張子をc:¥windows¥microsoft.net¥framework¥v2.0.50727¥aspnet_isapi.dllにマップする)成功なし! .wmaファイルタイプが.netにマップされていない限り、ファイルは正常に再生されますが、ただちに、一般的な "System.Exception - 3137"エラーメッセージが表示されます。ファイルが見つかりませんでした。.WMA Extn時にIIS 6でSilverlightを使用して.WMAファイルを再生する方法Asp.Netにマップされています

再生されない.wmaファイルは、Silverlight .xapへのリソースとしてコンパイルされません。サーバー上のフォルダ/ファイル構造の通常の部分であるだけで、アクセスしようとしています。私はパスの多くの異なる組み合わせを試したが、恐らく.wma拡張子が.netにマップされていないときにファイルが正常に再生されるので、パスは正しいと思われます。ソースを設定しているSLアプリ内のコードは、 mediaPlayer.Source = new Uri( "http://www.thedomainname.org.uk/radio/featuredartistsplaylists/poprock.wma"、UriKind.Absolute)です。 - .xapファイルから相対パスを試しましたが(先頭に '/'がある場合とない場合)、ドメイン名(ネットワークエラーが発生しました)ではなくIPアドレスを使用する絶対パスと相対ファイルシステムパスがバックスラッシュ形式(ネットワークエラーが発生しました)。 - 認証のために、匿名アクセスがWindowsユーザアカウントIUSR_HOST-7418のIISで有効になっているだけでなく、web.configにモードを設定していない場合、mode = "none"およびmode = "windows"に設定しようとしました。

私のウェブホスティング設定は、Windows Server 2003 Standardを実行するVPSです。私は本当に私がやっているかわからないが、私は効果なしに次の試してみました:

- In the IIS configuration mapping dialogue, trying with the 'verify that file exists' checkbox checked and unchecked 

- adding a <httpHandlers> entry for .wma in the <system.web> tag of web.config as follows : 
    <path "*.wma" verb="*" type="System.Web.UI.PageHandlerFactory" validate="false" /> 
(and tried it with validate="true") 

- running the request with and without a global.asax and with a code-free Application_BeginRequest event - in case my code in global.asax was blocking access to the .wma 

- granted Read & Execute rights on the folder containing the .wma to both the Internet Guest Account(HOST-7418\IUSR_HOST-7418) and Users(HOST-7418/Users) Account. 

この時点で、それは、ファイル/フォルダのアクセスの問題ではなく、パスの問題のいくつかの並べ替えであることを疑う超え私はWindows Server 2008(IIS 7)VPSセットアップで同じ問題が発生したため、アイデアがかなりありません。.wmaファイルは.netにマップされていないときにのみ再生されます(コンパイルされたハンドラ/モジュール)、そうでなければ "System.Exception:2210 AG_E_INVALID_ARGUMENT"エラーコードのために再生を拒否します。

ご協力いただければ幸いです。

+1

ジェフ:あなたがIEのアドレスバーに直接WMAにURLを置いたときに何が起こりますか? – AnthonyWJones

+0

ご返信ありがとうございます。私はちょうど次の標準エラーメッセージ "ページを表示することができません。 あなたが探しているページは現在利用できません。ウェブサイトが技術的な問題を抱えているか、ブラウザの設定を調整する必要があるかもしれません。 –

+0

私はちょうどチェックして、私のglobal.asaxコードはメディアプレーヤーから来る.wmaファイルの要求を傍受していますが(それはすべきです)、非常によくすべてのコードは非 - 支払いファイル、アクセスはとにかく拒否されました。 –

答えて

0

まずは、WMAを.NETハンドラにマップする必要はありません。これは静的なファイルで、Webサーバから提供されるため、ハンドラやweb.configのようなものは心配しないでください。プレーンなバニラIISウェブサイトはあなたをうまくやってくれるはずです。

まず、サーバー構成をテストします。

ファイルがhttp://www.mywebserver.com/SampleFile.wmaの場合は、Windows Media Playerを開き、ファイル/ URLを開き、その完全なURLを入力して再生するようにします。そうでなければ、Silverlightは動作しません。

Silverlight MediaElementは、Windows Mediaストリーミングの2つの方法(プログレッシブダウンロードまたはストリーミング)を使用できます。プログレッシブダウンロードは現在のシナリオです。ストリーミングにはWindows Mediaサービスが必要で、RTSPプロトコル(MMS)またはHTTP経由で実行できます。あなたのテストを支援するため

と比較のために、私はあなたがこれらの3つのシナリオ使用してテストするためのサンプルWMAを出してきました:

プログレッシブダウンロード(昔ながらのWebサーバー):http://static.x9tech.com/StackOverflow/WithoutASoundSample.wma

ストリーミング(WMS over MMS):mms://xstream5.x9tech.com/Static/StackOverflow/WithoutASoundSampleWMA

ストリーミング(HTTP経由WMS):http://xstream5.x9tech.com/Static/StackOverflow/WithoutASoundSample.wma

+0

あなたの答えをありがとう、人々が助けようとしていることを知っていることは素晴らしいです。メディアプレーヤーで.wmaファイルに接続することができませんでした。プロキシ設定を自動検出した後、メディアプレーヤーはサンプル1と3を再生できました。しかし、.netマッピングポイントでは私の質問では言及していませんでしたが、global.asaxを使用していくつかの.wmaファイルへのアクセスを制限しています。これは有料ベースで利用できるようになっています。 global.asax(アクセスを許可する前にセッションID、IPアドレス、およびユーザーアカウントをチェックする)で自分のコードでインターセプトされる.wmaファイル。 –

関連する問題