是的,如果您想要的话,您可以在控制台应用程序中自托管 WCF 服务。您不需要 IIS 或 Windows 服务来托管 WCF 服务。这对于开发和调试非常方便,但可能不是您想要的生产。有关详细示例,请参阅此内容。我已修改示例以在下面的代码中完全配置端点。再说一次,不是你一直想要的东西。
public static void Main()
{
MyWcfService instance = new MyWcfService();
using (ServiceHost serviceHost = new ServiceHost(instance))
{
var endpoint = serviceHost.AddServiceEndpoint(typeof(IMyWcfService), new NetTcpBinding(), "net.tcp://localhost:8000/MyWcfService");
serviceHost.Open();
// The service can now be accessed.
Console.WriteLine("The service is ready at {0}", endpoint.Address);
Console.WriteLine("Press <ENTER> to terminate service.");
Console.WriteLine();
Console.ReadLine();
}
}
请注意,这使用单个实例来服务所有调用,通常 WCF 会根据需要创建服务类的实例。