如何对服务的默认 WCF 端点进行硬编码?
在自托管服务中,我想使用 App.config 中指定的端点(如果存在)或代码中指定的默认端点(如果 App.config 为空)。我该怎么做?
编辑:澄清一下,这是在服务器(服务)端使用 ServiceHost。
In a self-hosted service, I'd like to use the endpoint(s) specified in App.config, if present, or a default endpoint specified in code if App.config is empty. How can I do this?
Edit: to clarify, this is on the server (service) side using ServiceHost.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
一种方法是
尝试
第一次尝试从配置文件加载,并在catch
中对端点进行硬编码。例如:One way is to
try
the first attempt to load from the config file, and hard-code the endpoint in thecatch
. EG:您可以按如下方式获取配置节:
如果 value 为 null 或如果
clientSection.Endpoints
包含零个元素,则它未定义。You can get the configuration section as below:
If value is null or if
clientSection.Endpoints
contains zero elements then it is not defined.当我想在没有 app.config 文件的情况下实现独立服务客户端时,我遇到了同样的问题。最后我可以解决这个问题。请遵循以下代码示例。它工作正常,我已经测试过。
I have faced to same kind of issue when I wanted to implement the standalone service client without app.config file. and Finally I could sort it out. Please follow the below code sample. It is working fine and I have tested it.
试试这个......未经测试,但应该对你有用。它将检查您的配置是否有任何具有匹配合同的端点。您可以将其更改为按名称匹配、返回不同的信息或任何对您的情况有意义的信息。如果未找到匹配项,您可以添加逻辑来创建默认端点。
Try this...untested, but should work for you. It will check your configuration for any endpoints with a matching contract. You can change it to match by name, return different information, or whatever makes sense for your situation. If no matches is found, you can put logic in to create a default endpoint.