ビルドイン メディア URL で拡張機能を使用しない理由は 2 つあります。
1) IIS6 または IIS7 クラシック モードを実行している場合、IIS は要求を ASP.NET に送信しない可能性があり (拡張機能のため)、C1 はそれを処理できません。
2) IIS7 のデフォルト設定には多くの拡張子があり、それらが存在すると IIS は 404 を返します (.config、.master、.cs など)。
ファイルを再生できないフラッシュ プレーヤーの問題があると思います。この問題はhttp://compositec1.codeplex.com/workitem/1379で報告されており、次のリリースで解決される可能性があります。
今のところ、回避策として次のコードを使用してフラッシュ URL を生成することをお勧めします。
protected string GetMediaUrl(string mediaPath)
{
string[] parts = mediaPath.Split(new[] { ':' });
string mediaStore = parts[0];
Guid mediaId = new Guid(parts[1]);
string mediaUrl = MediaUrls.BuildUrl(new MediaUrlData { MediaStore = mediaStore, MediaId = mediaId, QueryParameters = new NameValueCollection() },
UrlKind.Public);
// Temporary fix, allows media player to receive a nice url with an extension
return mediaUrl.Replace("_jpg", ".jpg").Replace("_mov", ".mov").Replace("_m4v", ".m4v").Replace("_swf", ".swf");
}