Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.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# 当项目更改以获得最佳性能时,如何处理应用程序中的连续数据流[Xamarin forms]_C#_Xamarin - Fatal编程技术网

C# 当项目更改以获得最佳性能时,如何处理应用程序中的连续数据流[Xamarin forms]

C# 当项目更改以获得最佳性能时,如何处理应用程序中的连续数据流[Xamarin forms],c#,xamarin,C#,Xamarin,我目前在一个应用程序中工作,在这个应用程序中,许多连续的信息将在其中流动,列表等将需要根据是否添加或删除新项目实时更新 我目前所做的是使用消息中心的解决方案,但我不确定这是否是一种良好的做法,以及它是否会影响性能,因为应用程序中将有大量用户订阅此活动 当用户将新项目上载到数据库时: MessagingCenter.Send<object, string[]>(this, "AddedData", ObjectID);
` MessagingCenter.Send(这是“addeda

我目前在一个应用程序中工作,在这个应用程序中,许多连续的信息将在其中流动,列表等将需要根据是否添加或删除新项目实时更新

我目前所做的是使用消息中心的解决方案,但我不确定这是否是一种良好的做法,以及它是否会影响性能,因为应用程序中将有大量用户订阅此活动

当用户将新项目上载到数据库时:

MessagingCenter.Send<object, string[]>(this, "AddedData", ObjectID);
`
MessagingCenter.Send(这是“addedata”,ObjectID);
`
然后将此消息发送给其他用户以订阅事件

MessagingCenter.Subscribe<object, string> (this, "AddedData", async (sender, msg) =>
 {

    //Load new item with objectid 
}
} );`
MessagingCenter.Subscribe(此“addedata”,异步(发送方,消息)=>
 {

//使用objectid加载新项
}
} );`

这是一种好的做法吗?

听起来您希望MessagingCenter以某种方式从某种服务器发送/接收消息。MessagingCenter仅用于在单个设备上运行的应用程序的单个实例中发送/接收消息


应用程序实例将永远不会接收从其他设备发送的消息。

哦,好的。因此,如果用户通过MessageCenter发送某些信息,那么只有用户才能订阅?好的,我需要更改方法。有什么想法吗?您需要使用某种外部服务器。基于云的方法可能会bly是最简单的方法。我相信大多数云提供商(肯定是Microsoft Azure)有一些基于云的消息队列,这听起来正是你想要的。用户将从你的应用发布消息,然后你将该数据发送到云中的消息队列,该消息队列存储在云中,并可由你应用的其他用户检索。