Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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# 在Web和桌面应用程序之间共享对象列表_C#_Asp.net_.net - Fatal编程技术网

C# 在Web和桌面应用程序之间共享对象列表

C# 在Web和桌面应用程序之间共享对象列表,c#,asp.net,.net,C#,Asp.net,.net,我想在web和桌面应用程序之间共享对象列表list。 我有ASP.NET MVC应用程序,它将把新对象放入该列表,桌面应用程序将读取这些对象,修改它们并放回列表,然后ASP.NET MVC将拾取更改的对象。简单地说就是对象队列。 在应用程序之间共享此类列表最简单、最快的方法是什么?我不想使用Windows通信基金会或其他大型框架,不想添加另一个会带来复杂性的层。 < P>因为您可以在两个不同的应用程序之间共享数据的唯一方式(在我假设的两个不同的机器中)是序列化数据然后发送它,然后,使用像WCF这

我想在web和桌面应用程序之间共享对象列表
list
。 我有ASP.NET MVC应用程序,它将把新对象放入该列表,桌面应用程序将读取这些对象,修改它们并放回列表,然后ASP.NET MVC将拾取更改的对象。简单地说就是对象队列。
在应用程序之间共享此类列表最简单、最快的方法是什么?我不想使用Windows通信基金会或其他大型框架,不想添加另一个会带来复杂性的层。

< P>因为您可以在两个不同的应用程序之间共享数据的唯一方式(在我假设的两个不同的机器中)是序列化数据然后发送它,然后,使用像WCF这样的远程处理库是您唯一的选择。您还可以使用XMLWeb服务(asmx文件),这比WCF简单得多

如果这两个应用程序共享同一台机器,这将带来更多的机会。主要使用两者之间的共享资源。以下是一些想法:

  • 将列表序列化为XML文件并保存在共享位置,然后让两个应用程序都访问它。你需要考虑同步和类似的事情(两个应用程序都试图访问文件)
  • 使用数据库存储列表,并让两个应用程序连接到该列表

更多细节将取决于应用程序和数据的性质,但我认为这是一个很好的起点。

asmx webservice是最好的方法,您只需在destop应用程序中调用web服务即可

使用youapp.yourwebservice


之后,您可以轻松使用任何对象web服务,当您调用web服务时,它将自动创建一个引用.cs文件,其中将包含类及其方法。

应用程序将在同一台计算机上使用,我认为这会带来更多选项。@Tomas-相应地编辑了答案。您可以使用数据库存储这些对象。您需要对该列表执行哪些ASP.NET MVC不会执行的操作?ASP.NET MVC将接受作业并将它们放入队列列表。此队列将用于执行占用内存和时间的作业。我不想在Web app中创建工作线程。@sgud数据库不够快,我不想在此解决方案中添加其他层。Web和桌面应用程序将在同一台PC上,我相信有更好的解决方案来共享对象。