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

时间:2013-08-30 13:12:08

标签: c# wcf iis asp.net-4.5

我已经阅读了互联网上似乎可以用自定义网站替换标准WCF登录页面的内容,但是,这些解决方案似乎不适用于IIS主机。 this questionthis walkthrough都建议创建不匹配的邮件处理程序并禁用元数据发布。但是,对这两者的评论表明它在IIS中托管时不起作用,我可以确认这似乎是这种情况。

IIS需要缺少一个步骤吗?需要在服务器上配置的东西才能工作?任何帮助都会很棒。这是一个.NET 4.5 WCF SOAP服务。

1 个答案:

答案 0 :(得分:2)

在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托管服务的更多详细信息,请参阅this。如果您使用.net框架版本&lt; 4.5您可以通过实现自定义服务主机工厂来实现相同的功能,并在代码中自行完成所有服务配置。

相关问题