我是WCF的新手,我在哪里为项目放置常量?
我通常创建一个带有命名空间的文件,该命名空间包含我所有的静态常量。但是,如果服务是每次调用或每次会话,我们就不能在WCF中拥有静态变量。我不想在我的代码中使用魔术数字,我想要可以在整个项目中共享的常量。
由于
答案 0 :(得分:4)
如果它们是真正的常量,您只需将它们放在带有const
关键字的相关文件中即可。常量在线程安全之前无法更改。
如果您需要更改变量的值,那么它不是常量,您需要考虑谁可以更改它。如果是用户的责任,那么您可以将变量放在.config文件中并从那里读取它们。如果代码需要更改变量,那么您可以使用一些锁定机制来读取/修改值(lock,ReadWriteLock等)。
答案 1 :(得分:3)
问题使用const
或甚至包含幻数的类是如果不重新编译就无法更改。您想使用设置文件。这些设置不是很直观,因此请按照以下步骤操作。右键单击您的项目,然后选择属性。然后找到设置标签:
单击将在项目中创建Settings.settings
文件的超链接。然后,您可以在设计器中编辑值:
值存储在app.config
或web.config
中(在您的情况下,因为它是WCF项目)。
答案 2 :(得分:2)
答案 3 :(得分:0)
具有静态只读属性的简单静态类应该有效。
Public static class Foo
{
public static int Bar { get { return 1337; }}
}