1

我有一个从 BasicHTTPBinding 移到 wsHttpBinding 的 WCF 服务。

这一举动引起了很多问题。主要是因为我不想参与作为 wsHttpBinding 一部分的安全性工作,并且将其关闭是行不通的。

我搬到 wsHttpBinding 的唯一原因是会话变量。

当我登录时,我需要特定 WCF 调用的所有日志在它们上具有唯一的 ID。

现在,我可以将这个 ID 设置为调用进来的点,并将它传递给我所有的方法。但在我的书中,这是一个非常糟糕的设计。

我正在寻找的是一种从我的应用程序中的任何点访问唯一的每次调用值(可能是 GUID)的方法。但是,如果我有 1,000 个同时通话,我需要每个通话都有自己的 GUID,并且只有在它要求时才得到那个。

一个会话非常适合这个。但是我在会话打开时遇到了很多令人讨厌的错误和超时,所以我想我会寻找一个不同的解决方案。

4

1 回答 1

1

您可以通过使用IParameterInspector检查调用并为每个调用生成 GUID 来扩展 WCF 服务。更多信息可在此处获得

于 2013-10-09T00:41:05.683 回答