Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net RIA服务错误,但未使用_Asp.net_Asp.net Mvc_Iis_Wcf Ria Services_Asp.net Webpages - Fatal编程技术网

Asp.net RIA服务错误,但未使用

Asp.net RIA服务错误,但未使用,asp.net,asp.net-mvc,iis,wcf-ria-services,asp.net-webpages,Asp.net,Asp.net Mvc,Iis,Wcf Ria Services,Asp.net Webpages,我创建了一个ASP.NETMVC网页应用程序。非常适合本地使用。当我将服务器安装为网站时,它可以在服务器上完美工作。但是,当它作为IIS应用程序安装时(级别低于另一个网站,使用相同的应用程序池),它所做的只是引发此异常: 无法加载文件或程序集 'System.ServiceModel.DomainServices.Hosting,版本=4.0.0.0, 区域性=中性,PublicKeyToken=31bf3856ad364e35'或其 依赖关系。系统找不到指定的文件 显然是与WCF RIA服务相

我创建了一个ASP.NETMVC网页应用程序。非常适合本地使用。当我将服务器安装为网站时,它可以在服务器上完美工作。但是,当它作为IIS应用程序安装时(级别低于另一个网站,使用相同的应用程序池),它所做的只是引发此异常:

无法加载文件或程序集 'System.ServiceModel.DomainServices.Hosting,版本=4.0.0.0, 区域性=中性,PublicKeyToken=31bf3856ad364e35'或其 依赖关系。系统找不到指定的文件

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


服务器:Windows Server 2008 R2 with IIS 7.5

检查应用程序的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>
<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>

它位于
部分

还有另一个条目,如:

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

部分中


删除条目,则不应出现异常。

我知道这太晚了,但我的答案可能对某些人有用。 我有类似的问题,但没有相应的IIS

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

我发现web.config的一部分是从使用OData(RIA服务)的父网站继承的。问题是我不知道如何在“儿童”网站上禁用它。我仍然需要将2个程序集复制到子bin文件夹…我尝试了(在模块部分-以集成模式运行),但没有成功。您是否也删除了中的条目?我已经更新了我的答案实际上我已经尝试了这两种方法,但仍然需要在bin文件夹中部署2个程序集(主机和服务器)。IIS中是否有办法告诉子应用程序不要从父级继承任何内容,并将其视为一个完全独立的应用程序?@Koen您可能需要停用主站点中的
runAllManagedModulesForAllRequests
。类似地,在IIS GUI中,我单击了我的站点的模块图标,并将其删除。