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

时间:2013-04-01 10:13:25

标签: c# hex bytearray data-conversion

我有一个将十六进制字符串转换为二进制的代码!在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;
    }

和代码:

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();
    }

因此,要恢复,这适用于winFormApp,而不适用于WebApp。为什么?我真的需要它在WebApp中工作。谢谢。

1 个答案:

答案 0 :(得分:0)

你解决了吗?也许它被多次调用(例如,多个用户点击该网页?)我在你的外部代码上设置了一个断点,例如: 'while(hexString!= null)'或该方法的开头,只是为了看看是否是这种情况。