0

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

我应该使用会话等机制还是可以安全地使用静态变量?如果多个用户同时调用我的服务会发生什么?

谢谢

4

1 回答 1

0

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

如果这些参数因用户而异,那么更好的主意是在服务端创建一个包含所有这些参数的类。

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

于 2012-06-07T17:23:33.437 回答