在IIS 7.5中托管时的自定义WCF登录页

本文关键字:自定义 WCF 登录 IIS | 更新日期: 2023-09-27 18:29:49

我已经阅读了互联网上似乎可以用自定义网站取代标准WCF登录页的内容,但是,这些解决方案似乎不适用于IIS托管。此问题和本演练都建议创建一个不匹配的消息处理程序并禁用元数据发布。然而,两者的评论都表明,它在IIS中托管时不起作用,我可以证实这似乎是事实。

IIS是否缺少所需的步骤?需要在服务器上配置某些内容才能正常工作?任何帮助都会很棒。这是一个.NET 4.5 WCF SOAP服务。

在IIS 7.5中托管时的自定义WCF登录页

在IIS托管的WCF服务中,ServiceHost是由w3wp为您创建的(相对于您创建它的selfhost)。默认情况下,会在此ServiceHost中添加ServiceDebug行为,这将导致此行为不起作用。启动WCF 4.5,您可以轻松地在代码中配置IIS托管服务。将这段代码添加到您的服务实现中。

public class Service1 : IService1, ILandingPage
    {
...
...
public static void Configure(ServiceConfiguration serviceConfig)
        {
            //Still continue to load the service configuration from your web.config file as before.
            serviceConfig.LoadFromConfiguration();
            //Remove the serviceDebug behavior. 
            serviceConfig.Description.Behaviors.Remove<ServiceDebugBehavior>();
        }
}

有关在代码中配置IIS托管服务的更多详细信息,请参阅。如果您使用的是.net框架版本<4.5您可以通过实现一个自定义服务主机工厂来实现同样的目的,并在代码中自己完成所有服务配置。