代码之家  ›  专栏  ›  技术社区  ›  Yes - that Jake.

从Windows服务和控制台应用程序访问相同的运行代码?

  •  0
  • Yes - that Jake.  · 技术社区  · 15 年前

    我有一个作为Windows服务和C库程序集(.dll)构建的应用程序,为了管理和维护此服务,我想添加运行命令行应用程序的功能,该应用程序告诉上次服务存档文件的时间、下次计划执行此操作的时间、上次运行的状态以及文件cre的位置。由服务部决定。

    编写一个可以与其他应用程序共享数据的服务和库的最佳体系结构是什么?我正在使用.NET 2.0。

    6 回复  |  直到 15 年前
        1
  •  2
  •   Ken Browning    15 年前

    在.NET中进程间通信的方式是通过远程处理(即使两个进程在同一台计算机上)。其他回应也提出了不需要远程处理的进程间通信的替代方案。

        2
  •  2
  •   Max Schmeling    15 年前

    最好的体系结构可能是使您的服务成为一个“服务器”,可以报告它的状态(以及您想要的任何信息)。像ocdecio建议的那样,使用wcf可以使它变得非常简单。

        3
  •  1
  •   Otávio Décio    15 年前

    为此,我使用了wcf,并为我想要支持的命令/事件创建了一个契约定义。

        4
  •  1
  •   Rowland Shaw    15 年前

    我曾经申请过的选项:

    • 将信息保存到数据库 (如果你有一只手的话)
    • 实施一 “状态监视器”类型线程 客户端可以连接的服务 通过TCP/IP等进行查询。
        5
  •  1
  •   ChrisLively    15 年前

    一个相当简单的方法是将这些信息存储在两个应用程序都可以访问的本地配置/文本文件中。或者甚至把它放在注册表项中。

        6
  •  1
  •   Tim    15 年前

    +1.仅让服务在查询时提供(和任何其他数据)(简单的TCP、RPC、Web服务或其他任何数据)

    我会让它很普通-像

    queryinfo(某些标识符) 将响应作为字符串、返回值或其他指示器,服务不知道您在说什么、无法获取信息或返回信息