尝试使用RIA服务时,Silverlight应用程序会出现4004错误

时间:2011-06-14 01:20:31

标签: silverlight-4.0 iis-6 windows-server-2003

我编写了一个基本上是帐户注册表单的Silverlight应用程序。我已经能够成功地将其部署到运行Windows Server 2008 / IIS7的生产服务器之一。虽然这需要一些时间,但我能够很容易地完成并解决问题。现在我正在尝试在主生产服务器上部署应用程序。这台服务器正在运行Windows 2003 / IIS6,这是我遇到一些问题的地方。

我已经解决了大部分问题,现在Silverlight应用程序将加载,我可以在它消失之前看几秒钟。我相信在此期间它正在尝试使用RIA服务从数据库加载数据。

在IE中我收到以下错误:

Webpage error details

Message: Unhandled Error in Silverlight Application 
Code: 4004    
Category: ManagedRuntimeError       
Message: System.Windows.Markup.XamlParseException:
System.Windows.Markup.XamlParseException: 
System.Windows.Markup.XamlParseException: 
Cannot find a Resource with the Name/Key ApplicationResources [Line: 6 Position: 9]

我认为它必须是IIS6中的配置问题,因为该应用程序在IIS7上运行正常,但我想要尝试一下。我花了好几个小时试图找到这个特定问题的解决方案,而其他人提到了解决这个问题的答案总是倾向于非特定的。

这是我到目前为止所做的:

  • 为.NET 4添加了新的应用程序池。
  • 将网站设置为在ASP.NET选项卡上使用.NET 4(当它执行iisreset时几乎有心脏故障)。
  • 添加了Silverlight .xaml,.xap等的MIME类型
  • 未经检查的集成Windows身份验证(选中时出错)。
  • 为脚本和可执行文件提供执行权限。
  • 回收了应用程序池。

我所看到的一件事但未尝试的是iisreset,虽然我并不完全相信这样做可以解决问题,但我们已安排今晚完成(如果我在此之前找不到解决方案) )。

所以基本上我想知道是否有人看到过这个问题并且知道如何解决它?

更新1:我们昨晚尝试了iisreset,正如我预期的那样解决问题。

1 个答案:

答案 0 :(得分:0)

好的,我已经解决了这个问题。正如所建议的,我在应用程序上执行了WCF跟踪。这立即突出显示了 REAL 问题,即“对象上的SELECT权限被拒绝...”。一旦我修复了这个,应用程序按我的预期工作。事实证明,我的一位同事已经在我们的其他服务器(运行IIS7)上进行了此权限更改,这就是为什么它在那里工作(这很糟糕 - 我知道)。

此外,我在客户端收到的javascript错误(在问题中显示)与底层问题无关,并且导致我很好地开启了花园路径,这也无济于事。