如何将我的编程WCF配置转换为app.config

时间:2010-04-15 16:40:24

标签: c# .net wcf .net-3.5 wcf-binding

我有一个带有硬编码配置的自托管WCF服务器。服务器工作正常,直到我尝试实现一些新的配置功能(更改端口,添加ssl)新配置设置不起作用(urrr ....),我发现很难找到我的代码中的问题在哪里。

而不是在声明WCF对象的代码中挖掘,我想到了不同的方法:

在加载所有配置后,有没有办法将这些硬编码的WCF配置(整个)转储到app.config文件文件中?这将使我能够轻松全局查看整个设置..

嗯...顺便问一下,有没有人知道一种方法会向相反的方向进行翻译?配置代码。

欢迎任何建议!

ofer

1 个答案:

答案 0 :(得分:0)

我认为您不会找到一种自动转储c#/ vb代码的方法,并将您的配置转换为配置文件xml架构(反之亦然),但如果您询问我的个人意见,如果您没有充分的理由在您的代码中对您的配置进行硬编码(即使您这样做,我会重新考虑),您应该从代码中移出wcf配置。配置不是代码的责任。它是配置,这意味着如果您需要更改“配置”,则不需要新的构建。

在您的代码中,您应该专注于服务消费逻辑,将配置留给后端引擎来处理它。请记住,有时您可能需要调整一些设置,例如服务限制,最大/最小缓冲区大小,MaxItemsInObjectGraph配额等。如果是硬编码,则表示新部署。如果在配置文件或其他存储库中,则表示简单的配置更改。

如果您在配置文件中拥有所有配置,当您将代码从环境移动到环境(Dev,DIT,QA,UAT,Pre-Prod,Production)时,如果需要,您可以在环境之间进行不同的设置(因为您使用的端口号已被使用或在防火墙中被阻止)。发布管理团队将在配置文件中正确配置它。

如果您想要更多地控制您的服务配置,您可以考虑为您的服务创建一个工厂服务,从一个集中的位置(数据库,xml文件等)获取所有配置,然后您将配置您的代码-the-飞。

我希望它有所帮助...