【发布时间】:2012-06-07 12:08:38
【问题描述】:
我正在我的 Silverlight 4 应用程序(VS2010,C#)中阅读电子邮件,我创建了一个处理电子邮件操作的 WCF(通过 IMAP),并在我的 Silverlight 应用程序中使用它的功能(实际上我的 Silverlight 应用程序是将成为另一个父 silverlight 应用程序中的用户控件)。我可以为用户名、密码、imap 服务器地址和其他项目声明公共静态变量吗?我的应用程序将有多个用户,那么在我的 WCF 中使用公共静态变量是否安全,或者我应该始终将用户名、密码、imap 地址、端口和其他内容传递给每个用户的 WCF 函数?我在这里有什么选择?
我应该使用会话等机制还是可以安全地使用静态变量?如果多个用户同时调用我的服务会怎样?
谢谢
【问题讨论】:
-
也许今天这会按预期工作,但明天呢?不要关门。创建一个像“MailSession”这样的类,您可以根据需要对其进行实例化,并使用它是一个建议,像 MMVM 这样的模式(mvvmlight.codeplex.com 是我的首选)
-
感谢您的警告,我会记住的,但您所说的 MailSession 是什么意思?应该在哪里声明?你的意思是在我的 WCF 中?所以我应该在新用户登录(并调用 WCF 登录)时创建这个对象的实例?
-
您应该将您的 wcf 逻辑包装在“mailsession”类中。 SL 应用程序不会直接调用 wcf 方法,而是使用 MailSession。 mailsession 类可以有一个带有用户凭据的构造函数,以及“getemails”、“setread”等方法。在 MVVM 中,这将是模型层
标签: wcf silverlight static-variables