我目前正在考虑改变我们的一个小部件的工作方式,因为它不像现在这样可扩展。
我会给你一些背景知识然后尝试解释我是如何改进它的:
我有一个小部件,允许用户输入用户名和密码,然后提交信息被发送到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正在侦听消息,并在接收消息时启动自动化。在自动化中的证书点,创建一条消息,说明用户是否成功,并将其发送回域控制器并被用户视为勾选或交叉。
我希望这是有道理的!
任何有关这方面的指导都会非常感激,因为我非常关注这个问题。