WCFConfigureServertoRememberData我目前在WCF中有一个服务可以处理客户端发出的请求。但是,它会缓存一些客户端发送的数据。然后它对数据执行计算。在任何时候,客户端都应该能够检索一些数据。这由用户自行决定(单击按钮时,将发送AJAX查询以获取一些数据)。我遇到的问题是,一旦另一个客户端连接并开始发送请求,原始客户端发送的数据现在就会失真。我想知道如何解决这个问题。我正在尝试使用会话,因为我正在寻找可以为每个想要连接到它的客户端实例化我的“服务器对象”的方法。仍然没有运气。这个问题与这个问题有关:WCFcloseconnection/releaseresource听起来您正在寻找WCF持久服务(链接)。持久服务可以在服务调用之间维护状态。JuvalLowy编写的第4章WCFServicesinProgramming(链接)还提供了有关持久服务和每会话服务的信息,这些信息也可能会有帮助。但是,一般来说,使WCF服务无状态是一种很好的做法-即在调用之间不保留任何状态。持久服务通过持久化数据来做到这一点,例如在调用之间将数据保存到数据库中,而不是实际将其保存在内存中(如果您有数千个并发服务消费者,这可能是一件坏事)。您的服务是如何为实例/并发提供的?听起来您可能正在使用单例服务实例,并将数据存储在服务实例中?如果这解释了您的问题-状态将被下一个调用状态更改操作的客户端覆盖。由于您的客户端是Web浏览器,您可能正在使用不支持WCF会话的webHttpBinding。添加您自己的会话概念的一种简单方法是将会话ID传递给您的操作,然后您可以使用它来查找请求的相关状态。如果您想变得更复杂一点,您可以研究从WCF请求中挖掘出cookie信息并将其用于您的会话。最复杂的解决方案是使用支持WCF会话概念的自定义WCF绑定(构建在cookie或会话参数之上)。除非您可以用谷歌搜索现成的解决方案,否则可能不值得付出努力。以上就是C#学习教程:WCF配置服务器记住数据共享的所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
