2

我想 List<MyObject>在 Web 和桌面应用程序之间共享对象列表。我有 ASP.NET MVC 应用程序,它将新对象放入该列表和桌面应用程序,它将读取这些对象,修改它们并放回列表,然后 ASP.NET MVC 将获取更改的对象。简而言之,对象队列。在应用程序之间共享此类列表的最简单和最快的方法是什么?我不想使用 Windows Communication Foundation 或其他大型框架,也不想添加会带来复杂性的另一层。

4

2 回答 2

1

由于您可以在两个不同的应用程序(我假设在两台不同的机器上)之间共享数据的唯一方法是序列化数据然后发送它,那么使用像 WCF 这样的远程处理库是您唯一的办法。您还可以使用比 WCF 简单得多的 XML Web 服务(asmx 文件)。

如果这两个应用程序共享同一台机器,那就会带来更多机会。主要使用两者之间的共享资源。这里有几个想法:

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

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

于 2012-10-17T19:47:48.317 回答
0

asmx webservice 是最好的方法,你只需在你的桌面应用程序中调用 web 服务,比如

使用 youapp.yourwebservice;

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

于 2012-10-18T14:56:39.490 回答