我有一个将十六进制字符串转换为二进制的代码!在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中工作。谢谢。
答案 0 :(得分:0)
你解决了吗?也许它被多次调用(例如,多个用户点击该网页?)我在你的外部代码上设置了一个断点,例如: 'while(hexString!= null)'或该方法的开头,只是为了看看是否是这种情况。