【发布时间】:2023-03-14 01:32:01
【问题描述】:
我有一个 SOAP Web 服务,我试图弄清楚如何保存/记录每个用户的最后 10 个请求。每个用户都需要在每个请求中发送他们的用户/密码,因此很容易知道请求来自谁。保存最后 10 个请求后,我的目标是开发某种页面,允许他们使用凭据登录并查看原始请求、实际 SOAP 消息、http 标头信息以及我能想到的任何相关信息.
重点是让人们解决他们自己的连接问题,而不是每次无法连接、无法格式化他们的请求等时都必须联系我......
我的第一个想法是将所有这些信息存储在内存中的哈希表或其他东西中,但是当我们有成百上千的用户访问 Web 服务时,这可能会出现可伸缩性问题。
我们可以使用我们的数据库来存储这些请求。我可能需要创建一些“缓冲区”机制,而不是每次都访问数据库,该机制仅在缓冲区达到一定数量的请求后才更新数据库。是否有现有的库或机制可以做到这一点?
我们无法将这些请求存储在托管 Web 服务的机器上的文件系统中。由于这些请求可能包含敏感信息,因此我需要解决这个业务决策。
或者也许有更好的方法来实现我想要做的事情?
【问题讨论】:
-
更好的方法是使用 WCF。跟踪功能开箱即用。
-
如果可以选择,我会使用 WCF 重写当前的 Web 服务。不幸的是,这不是我能做出的选择。
标签: asp.net web-services