Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 基于.Net场景的意见_Asp.net_Wpf_Xml - Fatal编程技术网

Asp.net 基于.Net场景的意见

Asp.net 基于.Net场景的意见,asp.net,wpf,xml,Asp.net,Wpf,Xml,我面临的情况是,我被困在一个非常繁重的交通负荷,同时保持高性能。这是我的方案,请阅读并提出宝贵意见 我将在服务器、客户端和访问者之间进行三方通信。当访问者访问我的客户的网站时,他将被检测并发送到一个中间规则引擎来执行一些任务,并在我的服务器上输出一个不同访问者的过滤列表。另一方面,我有一个客户可以访问这些列表。现在我最初的想法是在我的服务器上有一个Web服务,它将充当规则引擎,并在ASPX页面上输出结果列表。但这似乎是低效的,因为将有巨大的流量进入,客户端将不断地从这些列表中请求数据,因此这将是

我面临的情况是,我被困在一个非常繁重的交通负荷,同时保持高性能。这是我的方案,请阅读并提出宝贵意见

我将在服务器、客户端和访问者之间进行三方通信。当访问者访问我的客户的网站时,他将被检测并发送到一个中间规则引擎来执行一些任务,并在我的服务器上输出一个不同访问者的过滤列表。另一方面,我有一个客户可以访问这些列表。现在我最初的想法是在我的服务器上有一个Web服务,它将充当规则引擎,并在ASPX页面上输出结果列表。但这似乎是低效的,因为将有巨大的流量进入,客户端将不断地从这些列表中请求数据,因此这将是一个性能开销。请建议我应该采取什么方法来实现这个场景,这样就不会出现僵局,事情也会顺利进行。我还考虑了从XML文件中写入和获取的选项,但在我的例子中,这种方法也不是很好


注意:请记住,最初不会涉及数据库,所有工作都将保留在数据库之外。

哇,在没有数据库的情况下高效地存储数据将非常棘手。你可以考虑的是:

  • 将访问者数据存储在某种类型的对象列表中,并将其保存在服务器上的应用程序缓存中
  • 定期将该列表(比如在列表中的100个项目之后)刷新到服务器上的一个文件中-可能会将其存储在XML中以便于访问(您也可以将一个模式与之关联,以确保始终获得所需的相同结构)。您可以异步执行此文件写入,以避免在写入文件时保持线程锁定
  • Web服务听起来是个好主意——让它从XML文件中获取信息。可能会考虑将XML文件也分解成多个文件。您甚至可以单独缓存此文件的内容,以便服务提供缓存数据,从而提高性能

  • 谢谢你的快速回复。我喜欢你的想法,但我已经在考虑它们了,在我的例子中,它们似乎不是很有效,因为XML上的任何一个列表都在同时写入和获取,这可能会导致死锁或崩溃,所以我要避免这种情况。您可以将XML文件拆分为单独的部分,在每个刷新上打上日期戳,并且只读取最终确定的文件。因此,您永远不会写入正在读取的文件,因为每次刷新都会有一个新文件。。。所以本质上,你每小时都有一个文件,也许在非高峰时间会有一个服务将它们结合起来?好吧,酷,让我和我的朋友们讨论一下这个想法,然后再给你回复:)谢谢!很高兴!希望它能引导你找到一个可行的答案。。。显然,我不知道你的应用程序中涉及的所有复杂性,但这就是我的建议。原型化的想法,做一些负载测试,看看它如何进行。