0

我有一个想在 IIS 7.5 中托管的 WCF 服务。我的设置:带有 .svc 文件的文件夹的物理路径是:C:\inetpub\wwwroot\SmartSolution\Services\Services\ContainerManagementService.svc 我的二进制文件在 C:\inetpub\wwwroot\SmartSolution\Services\bin 中,我也将它们复制到 C:\inetpub\wwwroot\SmartSolution\Services\Services\bin

我在 IIS 中为这两个 Services 文件夹创建了一个 Web 应用程序。

这是 WCF 端点的配置文件:

      <service behaviorConfiguration="MyNamespace.ContainerManagementServiceBehavior"
    name="MyNamespace.ContainerManagementService">
    <endpoint address="" binding="basicHttpBinding"
       name="ContainerManagementbasicHttpEndpoint" contract="MyNamespace.IContainer"/>                  
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service>      
   <behaviors>      
    <behavior name="MyNamespace.ContainerManagementServiceBehavior">
      <serviceMetadata httpGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
</behaviors>

这是我的 .svc 文件 makrkup:

<%@ ServiceHost Language="C#" Debug="true" Service="MyNamespace.ContainerManagementService" CodeBehind="ContainerManagementService.svc.cs" %>

当我尝试导航到:http://localhost/SmartSolution/Services/Services/ContainerManagementService.svc时,显示以下错误:

“/SMARTSOLUTION/Services/Services”应用程序中的服务器错误。[ServiceActivationException:服务'/SMARTSOLUTION/Services/Services/ContainerManagementService.svc'由于编译过程中的异常而无法激活。异常消息是:不是有效的 Win32 应用程序。(HRESULT 异常:0x800700C1)。] 不是有效的 Win32 应用程序。(来自 HRESULT 的异常:0x800700C1)

我怎样才能让服务正常工作。谢谢!

4

1 回答 1

4

查看异常情况,您的程序集(在 bin 文件夹中)似乎是针对 x64 平台构建的,它们现在要么部署在 32 位机器上,要么为应用程序配置的应用程序池在 32 位模式下运行(启用 32 位应用程序 =“true” )。因此,进程无法加载为 x64 平台构建的程序集并因异常而失败。

HTH 阿米特

于 2011-03-29T19:37:49.853 回答