System.ArgumentNullException: значение не может быть нулевым. Имя параметра: ownerType - PullRequest
0 голосов
/ 17 июля 2009

Мы продолжаем получать это исключение:

Application_Error: Unhandled exception has been occured while 
requesting:/~/media/Flash Movies/nameoftheItem.ashx
System.ArgumentNullException: Value cannot be null.  
Parameter name: ownerType while requesting a media item.

У нас много медиа-материалов, и все они работают нормально. Мы получаем это исключение только для двух конкретных элементов (один из них - флэш-фильм, другой - изображение).

Я совершенно уверен, что что-то не так с этими предметами, но я ничего не могу найти.

Ты хоть представляешь, что это может быть?

Ответы [ 4 ]

1 голос
/ 02 декабря 2009

Я смотрел на эту ошибку в наших журналах, и отсутствующий параметр фактически генерируется методом ведения журнала Sitecore. Это может означать, что это ошибка Sitecore. Я видел сообщение на их (защищенных паролем) форумах разработчиков, на котором был в основном этот вопрос, и не получил ответа ...

Если я в конечном итоге отправлю заявку в службу поддержки, я укажу здесь то, что узнаю.

Вот трассировка стека, которая заставляет меня думать, что в Sitecore есть ошибка:

System.ArgumentNullException: значение не может быть нулевым. Имя параметра: ownerType at Sitecore.Diagnostics.Error.AssertObject (Object аргумент, имя строки) в Sitecore.Diagnostics.Log.Error (String сообщение, исключение e, тип ownerType) в Sitecore.Web.WebUtil.TransmitStream (Потоковый поток, HttpResponse ответ, Int32 blockSize) в Sitecore.Resources.Media.MediaRequestHandler.DoProcessRequest (HttpContext контекст) в Sitecore.Resources.Media.MediaRequestHandler.ProcessRequest (HttpContext контекст) в System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute () на System.Web.HttpApplication.ExecuteStep (шаг IExecutionStep, Boolean и выполняется синхронно)

ОБНОВЛЕНИЕ: Основываясь на комментариях ниже, было подтверждено, что это проблема в Sitecore, которая была исправлена ​​в версии 6.1.

0 голосов
/ 19 июля 2009

Ваш URL-фрагмент /~/media/Flash Movies/nameoftheItem.ashx выглядит неправильно сформированным.

Обычно URL-адрес в ASP.NET начинается с тильды ~, указывающей на корень вашего веб-приложения. ASP.NET тогда выяснит, как это переводится на полный URL. Это может быть в корне домена или где-то в виртуальном каталоге, но идея заключается в том, что ваше приложение должно заботиться. Тильда просто указывает корень вашего приложения.

К сожалению, в этом случае кажется, что перед фронтом был добавлен слеш, так что интерпретация заключается в том, что полный URL будет выглядеть примерно так: http://www.mydomain.com/~/media/Flash Movies/nameoftheItem.ashx, так как тильда больше не находится в начале фрагмента URL, который ASP .NET видит.

0 голосов
/ 22 июля 2009

Возможно, у вас просто нет этого элемента в веб-базе данных из-за прав, ограничений на публикацию или, возможно, загрузка флэш-фильма не удалась и вызвала повреждение элемента мультимедиа. (Вы увидите ошибку в файле журнала, если загрузка не удалась для какого-либо пользователя) Чтобы подтвердить, что этот пункт существует в веб-базе данных. Войдите в Shell как администратор, затем в правом нижнем углу рядом с часами щелкните значок базы данных и попробуйте переключиться на веб-базу данных. Затем запустите редактор содержимого и перейдите к элементу мультимедиа и убедитесь, что этот элемент есть. Если нет, попробуйте переиздать и проверить права и опубликовать настройки.

0 голосов
/ 19 июля 2009

Попробуйте снова опубликовать данные элементы и проверить в базе данных «web», что для элемента заполнено поле «ownerType». Это ВСЕГДА меня заводит ...

...