我们一直得到这个例外:
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.
我们有很多媒体项目,而且一切正常。我们仅针对两个特定项目获得此异常(其中一个是flash电影,另一个是图像)。
我很确定这些物品有问题,但我找不到任何东西。
你知道它能是什么吗?
答案 0 :(得分:1)
我一直在查看日志中的这个错误,并且Sitecore日志记录方法实际上抛出了缺少的参数。这可能意味着它是Sitecore错误。我在他们(受密码保护的)开发人员论坛上看到了一个基本上是这个问题的帖子,但没有回复......
如果我最终发布支持票,我会按照我的发现跟进。
这是堆栈跟踪让我觉得Sitecore得到了错误:
System.ArgumentNullException:值不能为null。参数名称: ownercore at Sitecore.Diagnostics.Error.AssertObject(Object 参数,字符串名称)在Sitecore.Diagnostics.Log.Error(String 消息,异常e,类型ownerType)at Sitecore.Web.WebUtil.TransmitStream(Stream stream,HttpResponse 响应,Int32 blockSize)at 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步骤, 布尔和放大器; completedSynchronously)
更新:根据以下评论,确认Sitecore中的问题已在6.1版中修复。
答案 1 :(得分:0)
尝试再次发布有问题的项目并检查“网络”数据库是否为该项填充了字段“ownerType”。这总是让我......
答案 2 :(得分:0)
您的网址片段/~/media/Flash Movies/nameoftheItem.ashx
似乎格式不正确。
通常,您可以在ASP.NET中使用波浪号〜来启动URL,以指示Web应用程序的根目录。然后ASP.NET将弄清楚如何转换为完整的URL。它可能位于域的根目录或某个虚拟目录中,但想法是您的应用程序不应该关心。代字号仅表示应用程序的根目录。
不幸的是,在这种情况下,似乎斜线被预先添加到前面,因此解释是完整的URL将类似于http://www.mydomain.com/~/media/Flash Movies/nameoftheItem.ashx
,因为波浪线不再位于URL片段的前面ASP.NET看到了。
答案 3 :(得分:0)
由于权利,发布限制或闪存电影上传失败并导致媒体项目损坏,您可能只是在Web数据库中没有此项目。 (如果某些用户上传失败,您会在日志文件中看到错误) 确认Web数据库中存在该项目。以管理员身份登录到Shell,然后在时钟单击数据库图标旁边的右下角,尝试切换到webdatabase。然后启动内容编辑器并浏览到媒体项目并查看该项目。如果没有尝试重新发布并签出权限并发布设置。