我有一个带有“登录”窗口的 WPF 应用程序,用户需要在其中指定用户名和密码。然后,WPF 应用程序需要使用这些凭据连接到 WCF 服务,并在其生命周期内保持与服务的连接,因为它通过 ICallback 接口从服务接收回调通知。
这是想法(链接到更大的图像):
问题:
凭据(用户名和密码)信息是否应该通过 Login ViewModel 提供给静态服务工厂?
一旦服务客户端设法连接到 WCF 服务 - 登录窗口应关闭,主窗口应显示。主窗口现在如何知道登录窗口创建的服务客户端?一旦从服务到达,MainWindow 将如何显示通知?
登录窗口是否应该将服务客户端传递给 MainWindow ?这对我来说似乎是糟糕的编码......
假设 WCF 服务由于某种原因出现故障。我希望 MainWindow 能够显示它(可能使用红色 LED 图像)。断开连接的信息如何从服务工厂传递到主窗口的视图?视图应该与客户端中的事件挂钩吗?
如果 WCF 服务断开连接(可能因维护而停机),将如何继续执行与 WCF 服务的“自动重新连接”?
任何能回答任何问题的人都会对我有很大帮助......