WCF SOA - 如何实现中央消息以在消费者应用程序中显示

WCF SOA - How to implement centeral messages to display in cusumer applications

这个问题更多的是设计问题而不是编程问题。

我们遵循带有 WCF 服务的 SOA 架构,多个 Web 应用程序使用多个 Web 服务。假设三个 Web 应用程序 1、2 和 3 正在使用 Web 服务 1,即(忽略此问题的其他 Web 服务)

WebApp1 > consumes > WebService1

WebApp2 > consumes > WebService1

WebApp3 > consumes > WebService1

所有三个 Web 应用程序都使用来自 WebService1 的相同 CreateUser() 功能。服务将 return 成功或错误消息取决于 SQL 服务器数据库中的插入查询。

这里是关键点,这些成功或错误消息是从数据库中 return 编辑的。数据库 table 充当在所有应用程序中显示的消息的中央存储库。有多个应用程序有多个消息。但是让我们关注 3 个应用程序和 2 条消息。 table 结构如下所示:



ApplicationID MessageID MessageText



   1 5 用户保存成功。


   2 6 用户插入成功。


   3 7 记录保存成功。


   1 8 用户保存失败。


   2 9 用户插入失败。


   3 10 记录保存失败。


每个应用程序可以有不同的 MessageID 和不同的文本,一个表示成功,一个表示错误。我想根据给定 ApplicationID return 不同的消息。每个应用程序都将自己的 ApplicationID 请求传递给 CreateUser()

如何根据ApplicationID将此函数写入return各自的消息文本。

是否需要更改table设计或可以通过其他更好的方式实现?

是的,我也这么认为。

在网络应用中添加消息逻辑,而不是在数据库中。然后 webService1 只是 returns 是否创建了用户,并且每个应用程序都可以显示他们想要的任何内容。这样,如果他们想要更改内容或修复拼写错误,您就无需为数据库打补丁。