我有一个WCF服务,我想在IIS 7.5中托管。我的设置: .svc文件的文件夹的物理路径是:C:\ inetpub \ wwwroot \ SmartSolution \ Services \ Services \ ContainerManagementService.svc 我的二进制文件位于C:\ inetpub \ wwwroot \ SmartSolution \ Services \ bin中,我也将它们复制到 C:\的Inetpub \ wwwroot的\ SmartSolution \服务\服务\ 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 /服务/服务' 应用。 [ServiceActivationException:The 服务 '/SMARTSOLUTION/Services/Services/ContainerManagementService.svc' 由于a无法激活 编译期间的异常。该 异常消息是:不是有效的 Win32应用程序。 (例外 HRESULT:0x800700C1)。]无效 Win32应用程序。 (例外 HRESULT:0x800700C1)
如何让服务正常运行。谢谢!
答案 0 :(得分:4)
查看异常,似乎您的程序集(在bin文件夹中)是针对x64 Plaform构建的,它们现在要么部署在32位计算机上,要么应用程序池配置为应用程序在32位模式下运行(启用32位应用程序= “真正”)。因此,进程无法加载为x64平台构建的程序集,并且异常失败。
HTH 阿米特