您是否知道可以在.net中使用的良好缓存技术在服务器和许多客户端之间共享数据?

时间:2022-04-15 07:25:07

I'm trying to adress the following issue:

我正试图解决以下问题:

  1. I have a server side .net application holding a Dictionary of PONO: the cache.

    我有一个服务器端.net应用程序,持有PONO字典:缓存。

  2. I have many client side .net User interfaces which can query some of these PONO, either by using the key or by asking the server to filter only PONO with a specific attribute value: the clients

    我有许多客户端.net用户界面可以通过使用密钥或要求服务器仅过滤具有特定属性值的PONO来查询其中一些PONO:客户端

Edit: Clients are C# thick client, not web app. So it's ok to use any channel type between the client and the server.

编辑:客户端是C#胖客户端,而不是Web应用程序。所以在客户端和服务器之间使用任何通道类型都可以。

  1. And of course, some of the client can update a PONO and send it back to the server. Then I'd like the server to be smart enough to notify all the client already holding this PONO with the new value, and even send the PONO to all the client which have a filter matching the new PONO value.

    当然,一些客户端可以更新PONO并将其发送回服务器。然后,我希望服务器足够聪明,通知所有已经拥有此PONO的客户端使用新值,甚至将PONO发送给具有与新PONO值匹配的过滤器的所有客户端。

  2. I don't really care about transactional aspect. In my case, the last one to speak is always right.

    我并不关心交易方面。就我而言,最后一个发言权总是正确的。

I think such a functionality looks quite generic so it must already exist somewhere. Any advice ?

我认为这样的功能看起来非常通用,所以它必须已经存在于某个地方。任何建议?

Thanks

4 个解决方案

#1


1  

Have you looked at Microsoft's WCF Technology? We are building a system that performs similar function to your project and it is working well.

你看过微软的WCF技术吗?我们正在构建一个与您的项目执行类似功能的系统,它运行良好。

Here are 2 examples of WCF I used as roadmaps and might be helpful to you:

以下是我用作路线图的2个WCF示例,可能对您有所帮助:

#2


1  

Have you checked out "Project Code Name Velocity" by Microsoft? Really scalable and easy to work with.

你有没有看过微软的“Project Code Name Velocity”?真正可扩展,易于使用。

#3


0  

You are looking for push technology. I would look into the use of Comet. Try for example, the Dojo implementation of Comet.

您正在寻找推送技术。我会研究一下Comet的用法。例如,尝试Comet的Dojo实现。

#4


0  

You are definately looking for a push model. Unfortunately ASP.net is a request/response mechanism. The client must make a request for the server to respond. It is quite difficult to handle this sort of transaction from a web-based tier. OrbMan is correct that what you are looking for is a Comet style implementation.

你肯定在寻找推模型。不幸的是,ASP.net是一种请求/响应机制。客户端必须请求服务器响应。从基于Web的层处理这种事务是非常困难的。 OrbMan是正确的,你正在寻找的是Comet风格的实现。

I'm just saying that this is not as simple as it sounds without an active client such as silverlight.

我只是说这并不像没有像silverlight这样的活跃客户端那么简单。

#1


1  

Have you looked at Microsoft's WCF Technology? We are building a system that performs similar function to your project and it is working well.

你看过微软的WCF技术吗?我们正在构建一个与您的项目执行类似功能的系统,它运行良好。

Here are 2 examples of WCF I used as roadmaps and might be helpful to you:

以下是我用作路线图的2个WCF示例,可能对您有所帮助:

#2


1  

Have you checked out "Project Code Name Velocity" by Microsoft? Really scalable and easy to work with.

你有没有看过微软的“Project Code Name Velocity”?真正可扩展,易于使用。

#3


0  

You are looking for push technology. I would look into the use of Comet. Try for example, the Dojo implementation of Comet.

您正在寻找推送技术。我会研究一下Comet的用法。例如,尝试Comet的Dojo实现。

#4


0  

You are definately looking for a push model. Unfortunately ASP.net is a request/response mechanism. The client must make a request for the server to respond. It is quite difficult to handle this sort of transaction from a web-based tier. OrbMan is correct that what you are looking for is a Comet style implementation.

你肯定在寻找推模型。不幸的是,ASP.net是一种请求/响应机制。客户端必须请求服务器响应。从基于Web的层处理这种事务是非常困难的。 OrbMan是正确的,你正在寻找的是Comet风格的实现。

I'm just saying that this is not as simple as it sounds without an active client such as silverlight.

我只是说这并不像没有像silverlight这样的活跃客户端那么简单。