RIA服务错误但未使用

时间:2013-02-21 15:14:20

标签: asp.net asp.net-mvc iis wcf-ria-services asp.net-webpages

我创建了一个ASP.NET MVC WebPages应用程序。完美地工作。当我将其安装为网站时,在服务器上完美运行。但是当它作为IIS应用程序安装时(在另一个网站下面,使用相同的应用程序池),它所做的就是抛出这个异常:

  

无法加载文件或程序集   'System.ServiceModel.DomainServices.Hosting,Version = 4.0.0.0,   Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其中一个   依赖。系统找不到指定的文件。

显然是与WCF RIA服务相关的东西,没有使用。我使用的只是Linq to SQL。这怎么可能?

服务器:带有IIS 7.5的Windows Server 2008 R2

2 个答案:

答案 0 :(得分:1)

检查应用程序的web.config是否包含如下条目:

<httpModules>
  <add name="DomainServiceModule"
       type="System.ServiceModel.DomainServices.Hosting.DomainServiceHttpModule, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</httpModules>

它位于<system.web>部分。

Theres也是另一个条目:

<modules runAllManagedModulesForAllRequests="true">
  <add name="DomainServiceModule" 
       preCondition="managedHandler"
       type="System.ServiceModel.DomainServices.Hosting.DomainServiceHttpModule, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</modules>
<{1>}部分中的

删除条目,然后你不应该得到例外。

答案 1 :(得分:0)

我知道为时已晚,但可能我的回答对某些人有用。 我有类似的问题,但没有对应IIS。

所以,我有基于RIA服务的网络应用程序。这个应用程序使用单独的dll(DAL),其中包含一些由RIA属性归属的类(当然,它引用了RIA dll)。 dll(DAL)被另一个应用程序引用,该应用程序没有使用RIA并引发了与您提到的相同的错误(但只有System.ServiceModel.DomainServices.Server)。 仅在WCF通道创建期间(ChannelFactory&lt;&gt;)引发此错误。所以我想WCF在分析合同类的属性时应该知道所有引用的dll。但我没有找到任何解释为什么WCF不使用自己的属性而不分析所有属性。