System.ArgumentNullException:值不能为null。参数名称:ownerType

时间:2009-07-17 11:04:57

标签: .net asp.net sitecore

我们一直得到这个例外:

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电影,另一个是图像)。

我很确定这些物品有问题,但我找不到任何东西。

你知道它能是什么吗?

4 个答案:

答案 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。然后启动内容编辑器并浏览到媒体项目并查看该项目。如果没有尝试重新发布并签出权限并发布设置。