有没有办法使用WCF重定向某个端口上的所有HTTP请求

时间:2010-03-18 11:39:49

标签: wcf iis

我需要将应用程序服务器端口80上的所有请求重定向到Web服务器。我试图避免安装IIS而是使用WCF来完成这项工作。

看起来像下面这样的操作是合适的但是我遇到的一个问题是如果使用http://mydomain.com/形式的URL,那么WCF将呈现关于元数据的页面。

    [OperationContract, WebGet(UriTemplate = "*")]
    RedirectToWebServer();

有人知道在重定向模式下让WCF的行为与IIS相同吗?

1 个答案:

答案 0 :(得分:1)

这似乎是错误的工具。如果您真的不想使用能够在几分钟的设置时间内完成此操作的众多Web服务器之一(IIS,Apache,Lighttpd),那么您可以创建一个简单的HTTP套接字服务器。

收听端口80.一旦连续获得两个换行符,请发回响应:

HTTP/1.1 301 Moved Permanently
Location: http://myothersite.com/whatever

(我几乎可以肯定这是你需要的最低限度)。如果你想真正喜欢并遵循HTTP规范,请根据请求的内容匹配HTTP / 1.1或HTTP / 1.0 ..但是对于快速和脏的重定向,这就是你所需要的。

那说,再说一次,我会说去抓另一台网络服务器并使用它设置一个重定向。有许多轻量级HTTP服务器可以使用。