如果在选择了服务的情况下以64位模式直接运行WCF服务应用程序,它可以正常工作,并为我提供默认数据合同。
如果我将应用程序更改为x86并使用x86(不是任何CPU)进行构建 - 并为此应用程序配置IIS 8应用程序池以允许32位 - 它将失败。如何使WCF应用程序以32位工作(它必须是32位,因为它需要是某些传统dll的包装器)。注意:我没有引用DLL或任何东西 - 它只是开箱即用的默认WCF应用程序(不是WCF库)。帮助: - )
答案 0 :(得分:0)
虽然我不确定为什么它不适用于您的情况,但在64位服务器上以32位模式运行时需要考虑两个问题:
Any CPU
指定为Platform Target
,则可以在32位或64位进程中加载它。32位IIS进程:如果您的应用程序作为Web应用程序运行(在IIS应用程序池工作进程中运行),您将希望该工作进程(w3wp.exe)为32-位过程。这可以在应用程序池的高级设置中指定:
虽然说“启用”,但它实际上意味着“强制”,这意味着当此设置的值为True时,应用程序池工作进程将始终作为32位进程启动。将其设置为False将启动64位应用程序池工作进程。