2012-10-26 213 views
0

我是新来的wcf并开始学习。我得到了一个混乱,我创建了一个小型的wcf服务,只是不把它放在IIS,控制台应用程序或赢得服务,但从另一个应用程序,我可以添加svc文件的服务引用,并发现它工作。如果wcf可以在没有像“IIS,控制台应用程序或赢取服务”的任何地方托管的话,那么为什么人们总是会在IIS,控制台应用程序或赢得服务中托管wcf服务。谁能告诉我原因。关于wcf服务托管

+0

你是什么意思与“从另一个应用程序”?与控制台应用程序不一样吗? – Andreas

+0

我开发两个应用程序一个wcf服务和另一个控制台应用程序。从我的控制台应用程序我只是添加Web服务参考服务的URL像“http:// localhost:21541/Service1.svc”,我看到我可以创建&调用服务实例。所以当没有在任何地方托管wcf服务的时候我们可以打电话为什么人们主持wcf服务。谢谢 – Thomas

+0

在IIS中托管Web服务非常简单,非常方便。我喜欢我可以直接从VS直接发布应用程序到这些服务器。我也喜欢我不需要关心权限,因为IIS负责处理这个问题。我不需要在配置中指定任何端点,因为端点始终是托管该服务的IIS中的Web应用程序。通常还需要快速设置。我认为没有任何优势可以为您的基于客户端 - 服务器的应用程序提供支持您必须确保您的应用程序始终在运行,并在崩溃时重新启动它,IIS将免费提供。 – Andreas

回答

0

人们通常会使用IIS和Windows服务,因为它们更易于设置和运行更一致。它们也可以更容易地托管在服务器可以配置为自动启动的服务器上,并且通常wcf用作服务器通信方法,通常这是您想要执行的操作。

在控制台应用程序中托管通常更容易设置简单的示例用于测试目的,当您想要在本地测试您的服务时。

虽然在应用程序中尽可能托管,但使用wcf在同一台计算机上的2个应用程序之间进行通信的情况并不常见。

编辑:

你原来的问题问为什么人们总是谈论IIS,服务等我提出的一点是,通常WCF是用于Web服务,而且通常比当地其他的服务器上运行机。尽管它可以用于同一台机器上的进程间通信,但这并不是最常见的用例。这就是为什么你看到很多使用IIS的例子,而没有太多的托管在Windows窗体应用程序中。

+0

有一点我不清楚,你说:“wcf服务也可以更容易地托管在服务器上,服务可以配置为自动启动”。你谈论什么服务器。以及如何配置服务以自动启动。你能否详细解释一下你对服务器和配置的看法。 – Thomas