2009-12-01 24 views
0
  1. 人们说库不应该有配置文件。
  2. 我无法将参数从它的主机传递给我的WCF服务类(但我可以从客户端)。
  3. 我不想在客户端上存储配置。
  4. 我该怎么办?

回答

2

你在问什么?你在谈论服务(服务器端)还是客户端的设置?

为什么不能像使用其他应用程序一样使用客户端配置文件?这是内置的,首选的方式 - 为什么坚持不使用它?

再说一遍:你问的是什么?或者是什么问题,你试图解决,真的吗?

  • 的服务(服务器端):存储您的绑定,行为,服务端点等在web.config(如果在IIS托管),或在您的服务主机的app.config(如果NT服务或控制台应用程序)

  • 对于客户端:将您的配置存储在使用您的库的主应用程序的app.config中。如果你愿意,你可以提供现成的“client.config”和“bindings.config”文件,然后只是简单地添加

    <system.serviceModel> 
        <bindings configSource="bindings.config" /> 
        <client configSource="client.config" /> 
    </system.serviceModel> 
    

你的客户端应用程序的的app.config - 没有得到比这更容易,真的!

+0

我的问题不是关于端点配置,而是您的答案对我有用。我只是不能使用configSource参数,因为我的Visual Studio告诉我:警告'configSource'属性没有声明。 – 2009-12-02 13:40:02

+1

是的,但这是一个“误报” - Visual Studio抱怨,但它很有效 - 相信我,我的系统每天都在生产中使用它! – 2009-12-02 13:42:45

0

我不知道,如果我正确地处理这个问题...

第一点是完全arbitary,如果你来自英国听起来有点法西斯,或bolshie。许多不同类型的库都带有配置文件。你会做什么其他方式?如果您没有配置它,它将如何工作,这是.NET配置模型的基础。

民间需要停止关注建筑迷,P & P机械师和编程纯粹主义者,他们经常根据一些最好的或次要的设计原则采取极端的观点,最重要的是你应该这样做,并做到这一点。

在purley技术基础上,如果您想隐藏配置文件,请对其进行加密。如果您不想这样做,但希望它们暴露给授权用户,请使用受保护的存储。

鲍勃。

+0

不要说没有反对这个的论据,但是在消费代码的配置文件中放置一个库的必要配置会导致更少的文件需要维护。每个应用程序一个配置文件 – 2009-12-01 21:58:25