在WCF中使用公共静态变量是否安全?

时间:2012-06-07 12:08:38

标签: wcf silverlight static-variables

我在Silverlight 4应用程序(VS2010,C#)中阅读电子邮件,我创建了一个处理电子邮件操作的WCF(通过IMAP),我在我的Silverlight应用程序中使用它的功能(实际上我的Silverlight应用程序是将成为另一个父Silverlight应用程序中的用户控件)。我可以为用户名,密码,imap服务器地址和其他项声明公共静态变量吗?我的应用程序将有几个用户,所以在我的WCF中使用公共静态变量是安全的还是我应该总是将用户名,密码,imap地址,端口和其他内容传递给我的每个用户的WCF函数?我有什么选择?

我应该使用会话等机制,还是可以安全地使用静态变量?如果有几个用户同时拨打我的服务会怎么样?

感谢

1 个答案:

答案 0 :(得分:0)

如果所有用户的参数相同,那么在简单的情况下,您可以从配置文件中读取它们,而不是在静态变量中对它们进行硬编码。这样,如果服务器或端口发生变化,您就可以轻松更新web.config而无需重新编译。

如果这些参数从用户变为用户,那么更好的想法是在服务端创建一个包含所有这些参数的类。

当WCF只是常量时,在WCF中使用静态变量没有任何问题。当它们不是常数时,您可能需要查看此thread