//加密压缩文件
process1.StartInfo.Arguments = " a -p123999 " + rarPath + " " + filePath;
process1.Start();
Thread.Sleep(1000); //等待压缩结束
msg.Attachments.Add(new System.Net.Mail.Attachment(@"e:\File01.rar"));红色部分改成 process1.waitforexit();
process1.StartInfo.Arguments = " a -p123999 " + rarPath + " " + filePath;
process1.Start();
Thread.Sleep(1000); //等待压缩结束
msg.Attachments.Add(new System.Net.Mail.Attachment(@"e:\File01.rar"));红色部分改成 process1.waitforexit();
解决方案 »
- 关于C#Winform窗体上的Datagridview控件对某一列的固定列标题居中
- filestream的问题,求助,急急急!!!
- sql server 2000影响代理服务器的流量
- .NET Framework 3.0 组件
- 请问怎样判断网上的一个文件是否存在?
- 请问我要在程序中做个在线登入用户的聊天程序是个什么思路啊?
- 求收发QQ、泡泡、MSN消息的软件的开发思路
- #标题党#[ASP.NET]请问为什么老是出现Server Application Unavailable
- 客户端与服务器端数据接收
- 请问高手,在C#中如何使Form透明啊。
- ds.Tables[0]
- 不用每个文本框都要设全选中问题
修改为process1.waitforexit(); 1M以下的文件很快就发送成功;
3M左右的发送时,最后提示时间超时。
好象是web.config的system.web下加一句:
<httpRuntime executionTimeout="3000" />
还要设置IIS么?
一个用来压缩,一个用来发送
然后逐步的缩小范围,查看问题在哪里
我想原因大概在于winrar是个图形程序,用process启动的话无法得到exit的信息,所以用process.waitforexit(); 是没用的。
这样只能把延时时间加长一点了。或者你改用命令行的压缩程序(如pkzip)压缩,这样可以用process.waitforexit();
if (Process1.HasExited)
{
int iExitCode = Process1.ExitCode;
if (iExitCode == 0)
{
这里发送邮件
}
else
{
出错
}
}
Process1.Start();//之后会调出winrar来压缩软件,但有执行时间
while (true)
{
if (Process1.HasExited)
{
int iExitCode = Process1.ExitCode;
MessageBox.Show(iExitCode.ToString());
break;
}
}
用户名 [email protected]
密码 1234qazwsx---163邮箱
用户名 [email protected]
密码 1234qazwsx
也是提示超时,小于1M的附件基本没问题