Xml 如何在每次创建新文件时增加我创建的文件中的数字?

Xml 如何在每次创建新文件时增加我创建的文件中的数字?,xml,visual-studio-2008,c#-4.0,increment,edi,Xml,Visual Studio 2008,C# 4.0,Increment,Edi,我正在创建一个文件转换控制台应用程序,以使用Visual C#将购物车导出生成的xml文件更改为x12 850 EDI txt文件。我需要在正在创建的txt文件中增加一个数字,然后将这个新数字存储在应用程序本身中,以便下一个转换的文件比上一个创建的文件增加一个,并在每个额外转换的文件中继续。过去实现这一目标的方法是什么?多谢各位 泰尔这取决于很多事情 主要问题是效率问题 文件系统监视程序将向您提供创建文件的事件,但随后您必须处理所有潜在的情况,例如有人将另一种类型的文件放入目录中,一次放入多个文

我正在创建一个文件转换控制台应用程序,以使用Visual C#将购物车导出生成的xml文件更改为x12 850 EDI txt文件。我需要在正在创建的txt文件中增加一个数字,然后将这个新数字存储在应用程序本身中,以便下一个转换的文件比上一个创建的文件增加一个,并在每个额外转换的文件中继续。过去实现这一目标的方法是什么?多谢各位


泰尔

这取决于很多事情

主要问题是效率问题

文件系统监视程序将向您提供创建文件的事件,但随后您必须处理所有潜在的情况,例如有人将另一种类型的文件放入目录中,一次放入多个文件,等等

如果我设计这样的东西,我会考虑多线程应用程序和一些排队。< /P> 第二部分

它不会修改整数,它会在创建/删除文件时通知您。记录这些事件将允许您跟踪文件本身。持久化设置需要运行应用程序外部的一些东西,例如注册表项或磁盘文件。通过对来自文件系统监视程序的事件进行排队,您可以以整洁有序的方式控制对该持久化文件的访问,确保它始终对应于手头的操作,而不仅仅是文件创建或删除事件

实际上,每次应用程序加载时,都会从文件中获取最后一个值,作为一个操作过程,递增/递减内存中的值并将其写回该文件。
该值将是内存中的一个整数,并简单地用++或-进行递增或递减,如详细所述

假设程序只有一个实例,并且该值需要在应用程序(可能还有计算机)重新启动时保持:

  • 使用文件存储计数器的当前值
  • 当应用程序启动时,读取此值
  • 根据需要增加内存中的值(以
    int
    或任何您使用的方式)
  • 在应用程序退出之前,用新值覆盖文件

您尝试过什么?你有什么困难?该数字是否必须在重启期间不断增加?跨服务器?我考虑过使用int和increment方法,但不知道如何保留最后一个递增到的数字。我已尝试递增数字字符串,但无法修改该字符串以容纳新变量。是,该数字需要在重新启动时不断增加。我计划使用任务调度器调用此应用程序以批量转换文件。至于跨服务器,我不完全理解这个问题。我很抱歉。基本上是问你的应用程序是否在多台计算机上运行,如果是的话,这个数字是否需要在它们之间不断增加。似乎有点急于建议OP应该考虑多线程应用程序和一些排队,而不考虑他们试图完成的更多细节。我编辑了原创的问题要更好地体现APP的目的。当你考虑可能发生的事情时,似乎是完全合理的。通过使用多线程队列,程序可以对批量添加的文件进行解释,在其他人仍在处理时删除文件,在操作进行时提供用户反馈(挂起的操作与当前的操作),一个操作对文件的写访问被锁定,当另一个操作尝试更新文件时,列表继续。问题归根结底是您想要解决方案还是修复方案。编写一个从一开始就涵盖基本内容的应用程序可以节省时间和编码成本。虽然人们不必担心放置不同类型的文件,因为xml文件将由购物车应用程序生成并通过ftp传输,但我需要考虑的是,一次可能有多个文件。但是,我不明白文件系统监视程序将如何修改我创建的文件中需要增加的整数。请您澄清一下好吗?太大了,不便评论,请参阅第二个答案谢谢您的帮助。这将实现我想要的。我希望把所有这些都保存在应用程序的代码中,但这可能是不可能的。