C# webApp中的十六进制字符串到二进制

C# webApp中的十六进制字符串到二进制,c#,hex,bytearray,data-conversion,C#,Hex,Bytearray,Data Conversion,我有一个将十六进制字符串转换为二进制的代码!关于WinForm应用程序 它就像一个符咒!但是如果我尝试在aspx中实现它,就会出现一些奇怪的情况 发生。应该是hexstring文件大小的一半的文件只保留 不停地成长。好吧,如果我停止调试,它将保持高位运行 在VS2010中,如果不完全关闭VS2010,我无法删除它 转换方法如下所示: public static byte[] StringToByteArray(String hex) { int NumberChars

我有一个将十六进制字符串转换为二进制的代码!关于WinForm应用程序 它就像一个符咒!但是如果我尝试在aspx中实现它,就会出现一些奇怪的情况 发生。应该是hexstring文件大小的一半的文件只保留 不停地成长。好吧,如果我停止调试,它将保持高位运行 在VS2010中,如果不完全关闭VS2010,我无法删除它

转换方法如下所示:

 public static byte[] StringToByteArray(String hex)
    {
        int NumberChars = hex.Length;
        byte[] bytes = new byte[NumberChars / 2];
        for (int i = 0; i < NumberChars; i += 2)
            bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16);
        return bytes;
    }

所以,继续说,这在winFormApp中有效,而在WebApp中无效。为什么?我真的需要它在WebApp中工作。谢谢。

您解决了这个问题吗?也许它被多次调用(例如,多个用户访问该网页?),我会在外部代码上设置一个断点,例如“while(hexString!=null)”或该方法的开头,看看是否是这样。

您使用FileMode.Append在代码中,因此,新的数据是必要的appended@Simon如果你再看一遍,我就是这么做的。这不是我的建议,这是事实。由于您使用Append,文件将增长。@Simon Mourier True,但我必须进行Append,因为我逐行读取十六进制文件并将其转换为二进制。它与WinformApp一起工作。为什么它不能与aspx一起工作?
string FileName1 = (@"Some HEX text File");                        
using (StreamReader sr1 = File.OpenText(FileName1))
using (BinaryWriter bw = new BinaryWriter(File.Open("New Binary File", FileMode.Append)))
    {         
      string hexString = (sr1.ReadLine());
      while (hexString != null)
            {
               bw.Write(StringToByteArray(hexString));         
            }
                bw.Close();
    }