2016-03-04 47 views
0

我嘗試刪除媒體服務文件,與此代碼,但它不工作(沒有發生):Azure的媒體服務中刪除文件

CloudMediaContext context = new CloudMediaContext(ConfigurationManager.AppSettings["MediaServicesAccountName"], ConfigurationManager.AppSettings["MediaServicesAccountKey"]); 

IAsset asset = context.Assets.First(); 


ILocator sasLocator = asset.Locators.Where(l => l.Type == LocatorType.Sas).First(); 


IAssetFile assetFile = asset.AssetFiles.ToList().First(); 

assetFile.Delete(); 

我用這個代碼爲例: How to get the duration of a video from the Azure media services?

我認爲我的問題是由於「定位器」,我不明白如何創建和操縱。

+0

做什麼你的意思是(沒有發生)?你有什麼異常?如果不是,重新查詢資產後是否有相同的文件集? –

+0

我沒有錯誤,文件沒有刪除。 – Kgn

回答

0

其實這是很簡單的... 我們並不需要使用「定位器」對於這一點,發現了一個視頻:

IAsset GetAsset(string name) 
{ 
    var assets = _context.Assets.Where(a => a.Name == name).ToList(); 
    if (!assets.Any()) 
    { 
     //no video found 
    } 
    return assets.First(); 
} 

,你可以刪除:

GetAsset("test-video").Delete(); 
+0

您將在刪除後引用對象,但在通過id重新查詢後不應找到此資產。 var iD =「someId」; var asset = _context.Assets.Where(a => a.Id == Id).FirstorDefault(); if(asset){asset.Delete(); Console.WriteLine(「Deleted」); } asset = _context.Assets.Where(a => a.Id == Id).FirstorDefault(); if(asset){Console.WriteLine(「Should not enter here」);} –