我目前正在研究改变我们其中一个小部件的工作方式,因为它不能像现在这样可扩展。
我会给你一些背景知识,然后尝试解释我是如何改进它的:
我有一个小部件,允许用户在那里输入用户名和密码,并在提交时将信息发送到 MSMQ 并发送到与 CEFSharp 一起使用的应用程序(我使用的是 WatIN,但 CEFSharo 是基于 chrome 的,所以我遇到的问题更少)应用程序通过零售商站点接收信息并自动将商品添加到用户购物篮,然后退出。用户将通过再次从MSMQ发回的网站(小部件)上的一系列勾选来知道产品是否已成功放置在复选框中。
我面临的问题如下:
如果 10 个(或更多!)用户同时将产品添加到购物篮,我需要打开 10 个应用程序来执行自动化操作,否则第十个用户可能会等待很长时间才能成功添加到购物篮完成。MSMQ 依赖域控制器来发送和接收信息。自动化本身需要很长时间。当前的解决方案可能过于复杂。
所以我想知道是否有人有任何建议或可以将一些链接发布到一种更简单、更具可扩展性的方式来实现我所需要的,如下所示:
用户提交的信息:
1. Retailer
2. Username
3. Password
4. Product deeplink
5. Quantity
自动化步骤
a) Go to site login page
b) Enter username
c) Enter password
d) Click submit
e) Check successful (User sees Secure sign in check box ticked)
f) Go to product page (using deeplink)
g) Check successful (User sees Locating this product checkbox checked)
h) Select quantity
i) Add to basket
j) Check if successful (User sees Add product to basket checkbox checked)
k) Log out
l) Check successful (User sees Log out and forget details successful)
编辑
只是为了让这更清楚一点(我认为)我真正想要删除的是当前执行以下操作的代码的 MSMQ 部分:
在单独的服务器上(在我的情况下是域控制器)MSMQ 接收包含以下信息的消息并将其发送到另一台服务器:
Retailer User page login
Users Username
User Password
Product URL
Quantity user want to add
在另一台服务器上,MSMQ 正在侦听消息,并在收到消息时启动自动化。在自动化的某些点上,会创建一条消息,说明用户是否成功,该消息被发送回域控制器并被用户视为一个勾号或叉号。
我希望这是有道理的!
任何有关这方面的指导将不胜感激,因为我非常不知道该去哪里。