1

我需要在我的 WCF 服务中提供不可否认性,并希望将所有传入的 SOAP 请求存储到带有签名/安全数据和所有信封内容的 SQL 服务器数据库中

这样,当出现问题时,我们可以告诉客户“您好,这是您签名的消息,就像您写的一样。为此,我需要存储 SOAP 信封 XML 和我的持久业务对象/事务之间的关系。

示例:是用于将客户 ID=4567添加到我的客户数据表的SOAP 信封。

我需要在 SOAP 信封和我的应用程序执行的业务事务之间建立链接。存储记录消息的@@identity 可能是一种解决方案。但是,我把它放在哪里?在 SOAP 正文中?把它留在记忆里?

我已经阅读了有关登录 WCF 并编写了一个数据库记录器,它将日志信息而不是文本文件插入到表中,但我不知道如何将此数据与到达我的 WCF 服务的已解析/反序列化的 bussines 数据合同对象链接起来方法。我什至不知道这是否是正确的方法!

任何模式/提示/提示/工具/帮助将不胜感激。谢谢。

4

1 回答 1

0

如果您启用了 WCF 的消息记录功能 ( http://msdn.microsoft.com/en-us/library/ms730064.aspx ),您可以编写一个自定义侦听器,并在其中添加您需要的所有逻辑。要编写自定义侦听器,您只需实现 TraceListener 接口(相当简单),然后配置 WCF 以使用它,将其添加到 system.diagnostics 内的侦听器部分,替换默认侦听器。

于 2010-07-22T14:36:36.810 回答