2

ASP.NETからWindowsMediaPlayerライブラリにアクセスしようとしています。

次のコード:

WMPLib.WindowsMediaPlayer mplayer = new WMPLib.WindowsMediaPlayer();

WMPLib.IWMPStringCollectionリスト=mplayer.mediaCollection.getAttributeStringCollection( "artist"、 "audio");

VS2005開発Webサーバーを使用して実行すると空でないリストを返しますが、IISを使用すると空のリストを返します。

なりすましの設定:

System.Security.Principal.WindowsImpersonationContext impersonationContext =((System.Security.Principal.WindowsIdentity)User.Identity).Impersonate();

助けにはならない。WMPLibは、ライブラリを持っているユーザーとして実行されているとはまだ考えていないようです。

これを回避する方法はありますか?

4

2 に答える 2

1

ASP.NETのweb.configを介して構成を試しましたか?VS2005デバッガーで実行している場合は、(おそらく)自分自身としてコードを実行していますが、IISで実行している場合は、IUSR_machinenameまたは別の低アクセス許可システムアカウントとして実行します。

次のようなものをweb.configファイルに追加してみてください。

<system.web>
<identity impersonate="true" userName="MYDOMAIN\myuser" password="p@ssw0rd" />
</system.web>

これがMediaPlayerで特に機能するかどうかはわかりませんが、このような他のID/セキュリティ関連の問題では機能します。

于 2008-09-26T17:51:53.680 に答える
0

私は同様の問題に遭遇しました: コードはローカル マシンでは問題なく動作しますが、ホーム サーバーにデプロイされると、メディア ライブラリから何も引き出す​​ことができません (メディア プレーヤーを開いて、ライブラリに曲があることを確認できます)。 )

最初はプロセスの問題でもあると思ったので、アプリケーション プールを自分のアカウントで実行するように設定することと、ID 偽装タグを介して設定することの両方を試みました。どちらも問題を解決しませんでした。

他の違いが問題を引き起こすかどうかはわかりません

于 2008-10-23T13:17:51.113 に答える