На моей странице мне нужно искать контейнеры и большие двоичные объекты по имени, типу и LastModified.
var selectedValue = ddlFileType.SelectedValue;
AzureSettings container = AzureSettingsServices.Select(selectedValue.ParseInt(-1));
if (ViewState[container.Name] == null)
{
IEnumerable<IListBlobItem> blobList = BlobHelper.GetFileListByContainer(container.Name);
//I add the viewstate for not spending money in azure :)
ViewState.Add(container.Name, blobList);
}
List<CloudBlob> list = null;
string fileName = txtFileName.Text;
if (!string.IsNullOrWhiteSpace(fileName))
{
//by name and date
list = ((IEnumerable<IListBlobItem>)ViewState[container.Name]).OfType<CloudBlob>().Where(x => x.Name == fileName && x.Properties.LastModified >= dtDate.ValueRange.StartDate && x.Properties.LastModified <= dtDate.ValueRange.EndDate ).ToList();
}
else if (string.IsNullOrWhiteSpace(fileName))
{
//by date
list = ((IEnumerable<IListBlobItem>)ViewState[container.Name]).OfType<CloudBlob>().Where(x => x.Properties.LastModified >= dtDate.ValueRange.StartDate && x.Properties.LastModified <= dtDate.ValueRange.EndDate ).ToList();
}
if (list != null)
{
// by type
list=list.OfType<CloudBlob>().Where(x => x.Name.Contains(selectedValue)).ToList();
SelectedContainer = container.Name;
grdFiles.DataSource = list;
grdFiles.DataBind();
}
Проблема в том, что я не могу предоставить список List ‹CloudBlob> в качестве источника данных gridview, что является нормальным, но как я могу установить список List‹ CloudBlob> в ( IEnumerable ‹IListBlobItem> bloblist или в моем состоянии просмотра (примечание: в моем состоянии просмотра находится мой список Ilistblobitem) ) назад для моего источника данных gridview
ОШИБКА ОБНОВЛЕНИЯ 2:
grdFiles.DataSource = ((IEnumerable) ViewState [container.Name]);
grdFiles.DataBind ();
Вот ошибка о том,
'Microsoft.WindowsAzure.Storage, Version = 7.2.1.0, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35' Microsoft.WindowsAzure.Storage.Core.Util.CommonUtility + d__0`1 [[Microsoft.WindowsAzure.Storage.Blob.IListBlobItem, Microsoft .WindowsAzure.Storage, Version = 7.2.1.0, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35]] '
> [SerializationException: 'Microsoft.WindowsAzure.Storage, Version=7.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' Derlemesindeki 'Microsoft.WindowsAzure.Storage.Core.Util.CommonUtility+<LazyEnumerable>d__0`1[[Microsoft.WindowsAzure.Storage.Blob.IListBlobItem, Microsoft.WindowsAzure.Storage, Version=7.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]' ]
System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers (тип RuntimeType) +12207601 System.Runtime.Serialization.FormatterServices.GetSerializableMembers (тип типа, контекст StreamingContextinary) +230 System.Runtime.Serialization.
System. (Object obj, ISurrogateSelector surrogateSelector, контекст StreamingContext, SerObjectInfoInit serObjectInfoInit, преобразователь IFormatterConverter, ObjectWriter objectWriter, связыватель SerializationBinder) +51 System.Runtime.Serialization.Formatters.Binary.ObadersjectWriter, ObjectWriter___, Serialize fCheck) +540 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize (Stream serializationStream, граф объектов, заголовки Header [], логическое значение fCheck) +131 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize (Stream serializationStream , Граф объекта) +17 System.Web.UI.ObjectStateFormatter.SerializeValue (средство записи SerializerBinaryWriter, значение объекта) +3046
[ArgumentException: 'Microsoft.WindowsAzure.Storage.Core.Util.CommonUtility + d__0
1[[Microsoft.WindowsAzure.Storage.Blob.IListBlobItem, Microsoft.WindowsAzure.Storage, Version=7.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]' türündeki 'Microsoft.WindowsAzure.Storage.Core.Util.CommonUtility+<LazyEnumerable>d__0
1 [Microsoft.WindowsAzure.Storage.Blob.IListBlobItem] »серьезный набор данных.] System.Web.UI.ObjectStateFormalue.Serialize значение) +3770 System.Web.UI.ObjectStateFormatter.Serialize (поток вывода, объект stateGraph) +144 System.Web.UI.ObjectStateFormatter.Serialize (объект stateGraph, цель назначение) +71 System.Web.UI.ObjectStateFormatter.System. Web.UI.IStateFormatter.Serialize (состояние объекта) +39 System.Web.UI.Util.SerializeWithAssert (средство форматирования IStateFormatter, StateGraph объекта) +37 System.Web.UI.Control.EstimateStateSize (состояние объекта) +45 System.Web. UI.Control.BuildProfileTree (String parentId, Boolean calcViewState) +71 System.Web.UI.Page.BuildPageProfileTree (Boolean enableViewState) +42 System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPointState, Boolean includeStagesBeforeAsyncPointState) +5761