使用斑马打印机打印文件,打印方式是打印机上设置一个共享网络,电脑直接把文件发到共享网络地址就行。
现在问题是,当打印的数量堆积到一定程度,就会出现File.COPY这个函数阻塞不动。
程序如下:
private void ceshi(object num)
{
DateTime dateTime = default(DateTime);
DateTime dateTime1 = default(DateTime);
circle = true;
int y = 0;
while (circle)
{
y++;
output6("1");
dateTime = DateTime.Now;
string path = "D:\\Release\\test.txt";
StreamWriter streamWriter = new StreamWriter(path, false);
output6("2");
streamWriter.Write("fsdagasdgfgdfgdsjio\n\rger34tregjdfkgdfldfgd\n\rfkjgl/d/rkdf;dfgdfsgdfgdfhg;gfdgs\n\r/d/rdfgsdfgdfg\n\rsdfng/d/rfdkggerklgdfgfsddfsgfdfdxndo/d\n\r/rfgiofsdfgslgfdj;dfsjvkldf");
streamWriter.Close();
Thread.Sleep(5);
output6("3");
try
{
File.Copy("D:\\Release\\test.txt", "\\\\station042.\\Zebra",true);
output6("4");
}
catch (Exception ex)
{
output6("5");
MessageBox.Show(ex.ToString());
}
int i = Convert.ToInt16(num);
dateTime1 = DateTime.Now;
int x =dateTime1.Second*1000+ dateTime1.Millisecond - dateTime.Second*1000-dateTime.Millisecond;
if (x > 0)
{
if (i == 1)
{
output(x.ToString());
}
}
output6("6");
output5(y.ToString());
}
}
左边的数字是执行时间,正常的执行时间是几十毫秒,但隔段时间就会出现几万毫秒的情况。
有谁知道
File.Copy("D:\\Release\\test.txt", "\\\\station042.\\Zebra",true);
这个函数的底层原理是什么吗?为什么打印机那边有几万个的时候,复制这个动作会间歇性停顿十几秒?