何处将常量放在WCF项目中

时间:2012-02-01 14:10:07

标签: c# .net wcf constants

我是WCF的新手,我在哪里为项目放置常量?

我通常创建一个带有命名空间的文件,该命名空间包含我所有的静态常量。但是,如果服务是每次调用或每次会话,我们就不能在WCF中拥有静态变量。我不想在我的代码中使用魔术数字,我想要可以在整个项目中共享的常量。

由于

4 个答案:

答案 0 :(得分:4)

如果它们是真正的常量,您只需将它们放在带有const关键字的相关文件中即可。常量在线程安全之前无法更改。

如果您需要更改变量的值,那么它不是常量,您需要考虑谁可以更改它。如果是用户的责任,那么您可以将变量放在.config文件中并从那里读取它们。如果代码需要更改变量,那么您可以使用一些锁定机制来读取/修改值(lock,ReadWriteLock等)。

答案 1 :(得分:3)

问题使用const或甚至包含幻数的类是如果不重新编译就无法更改。您想使用设置文件。这些设置不是很直观,因此请按照以下步骤操作。右键单击您的项目,然后选择属性。然后找到设置标签:

enter image description here

单击将在项目中创建Settings.settings文件的超链接。然后,您可以在设计器中编辑值:

enter image description here

值存储在app.configweb.config中(在您的情况下,因为它是WCF项目)。

答案 2 :(得分:2)

答案 3 :(得分:0)

具有静态只读属性的简单静态类应该有效。

Public static class Foo
{
    public static int Bar { get { return 1337; }}
}