我有一个服务,我需要与它通信,所以我开始调查 WCF。我将服务设置为侦听并创建了一个客户端。所有的通信工作正常。
该服务将被多个客户使用。与其让他们设置客户端并通过 WCF 学习曲线,我想我只是包装客户端并隐藏所有 WCF 实现。我发现为了让它工作,他们仍然必须在他们的 app.config 文件中包含带有端点信息的服务模型。
有没有办法完全隐藏服务模型信息?我希望他们简单地引用我的 dll 并开始调用。除了我的客户之外,图书馆似乎没有必要了解端点信息。
谢谢
您可以以编程方式而不是通过配置创建端点,如此 SO 问题的答案中所示的示例:如何以编程方式添加 WCF 客户端端点?
如果您不想在 Web 配置中包含 wcf 客户端设置,则需要使用代码创建设置。以下是如何在没有 web.config 的情况下为 wcf 客户端(在本例中使用 BasicHttpBinding)创建实例的示例代码:
BasicHttpBinding binding = new BasicHttpBinding();
EndpointAddress address = new EndpointAddress("http://someServer/DemoWcfService");
TestServiceClient client = new TestServiceClient(binding, address)
但我建议您继续使用 web.config wcf 客户端配置,因为它很容易重新配置。