動的コンポーネントプレゼンテーションとして公開されているマルチメディアコンポーネントのファイルのバイナリURLを取得しようとしています。
ブローカーデータベース内のBinariesテーブルにURLを表示できますが、次のコードのいずれかを使用してバイナリURLを取得できないようです。
SQLBinaryMetaHomeの使用:
using (var sqlBinMetaHome = new Com.Tridion.Broker.Binaries.Meta.SQLBinaryMetaHome())
{
int componentItemId = int.Parse(queryStringId.Split('-')[1]);
var binaryMeta = sqlBinMetaHome.FindByPrimaryKey(new TCDURI(publicationId, 16, componentItemId));
if (binaryMeta != null)
{
VideoBinaryUrl = binaryMeta.GetURLPath();
}
else
{
Logger.Log.ErrorFormat("Failed ot load via SQL Binary Meta {0}", queryStringId);
}
}
バイナリメタファクトリの使用:
using (var b = new BinaryMetaFactory())
{
var binaryMeta = b.GetMeta(queryStringId);
if (binaryMeta != null)
{
VideoBinaryUrl = binaryMeta.UrlPath;
}
else
{
Logger.Log.ErrorFormat("Failed to load binary meta {0}", queryStringId);
}
}
ComponentMetaFactoryを使用してコンポーネントメタデータをロードできます。
バイナリメタを読み込めない理由について何かアイデアはありますか?私は正しい方向に進んでいますか?
ロブ