Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.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
C# 在.NET中进行简单分布式通信的最简单方法是什么?_C#_Sql Server_Msmq - Fatal编程技术网

C# 在.NET中进行简单分布式通信的最简单方法是什么?

C# 在.NET中进行简单分布式通信的最简单方法是什么?,c#,sql-server,msmq,C#,Sql Server,Msmq,因此,基本上,我正在考虑尝试在我的asp.net应用程序上同时使用各种功能进行负载测试。这个应用程序中有很多依赖项和ajax请求,所以简单地重放捕获的http请求似乎不够,而且由于其他特性,例如挑出随机操作,执行然后跨多台机器验证结果,简单的负载测试软件也不够 此外,该项目没有支出预算,因此无法使用商业实现。我正在讨论如何使用MSMQ(以前从未使用过)来处理客户端之间的通信,但如果设置起来真的很复杂,那么我要么使用数据库表作为队列,要么使用简单的TCP服务器,每个测试机都作为其客户端 我想要的特

因此,基本上,我正在考虑尝试在我的asp.net应用程序上同时使用各种功能进行负载测试。这个应用程序中有很多依赖项和ajax请求,所以简单地重放捕获的http请求似乎不够,而且由于其他特性,例如挑出随机操作,执行然后跨多台机器验证结果,简单的负载测试软件也不够

此外,该项目没有支出预算,因此无法使用商业实现。我正在讨论如何使用MSMQ(以前从未使用过)来处理客户端之间的通信,但如果设置起来真的很复杂,那么我要么使用数据库表作为队列,要么使用简单的TCP服务器,每个测试机都作为其客户端


我想要的特性是:立即失败(一个客户端崩溃,然后所有客户端都应该停止),每个测试运行都应该从一个全新的场景开始,没有事先的消息,并且能够发布启动和停止事件。另外,如果我不必担心状态管理(在数据库上更倾向于TCP服务器)或并发性,那就太好了。

听起来MSMQ并不是您所需要的。它是一种消息传递异步通信方法,类似于电子邮件。您可以将消息发送到另一个甚至没有人在侦听的队列(即应用程序未运行)。在我看来,你想要一个更“在线”的交流模式

创建代理(位于多台机器上并创建负载的客户端应用程序)来公开WCF服务,控制器程序可以在其中连接到所有代理并指示代理做什么,怎么样?它可以是双工合约,以便代理可以向控制器发送通知。当其中一个发送错误通知时,控制器可以指示所有其他代理关闭。我也会选择Net.TCP绑定,而不是HTTP绑定