📄 faxexsender.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Runtime.CompilerServices;
using System.ServiceProcess;
using FAXCOMLib;
using FAXCOMEXLib;
using log4net;
/// <summary>
/// Summary description for FaxExSender
/// </summary>
///
namespace IFS.ReportFax
{
public class FaxExSender
{
public static int status = FaxStatus.SENDER_SENDING;
private static string sendingFileName;
private static log4net.ILog log = FaxUtil.getLogger();
public FaxExSender()
{
if (log == null)
log = FaxUtil.getLogger();
//
// TODO: Add constructor logic here
//
}
//private static string[] getFilePaths()
//{
// System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(Service.rootPath + "\\tempFiles");
// System.IO.FileInfo[] files = dir.GetFiles();
//files
// }
public static int sendAll()
{
System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(FaxUtil.tempDir);
System.IO.FileInfo[] files = dir.GetFiles();
foreach (System.IO.FileInfo file in files)
{
string fullName = file.FullName;
string toNum = fullName.Substring(fullName.IndexOf("~"), fullName.Length - fullName.IndexOf("~"));
//fullName.
if (send(fullName, toNum).Equals("1"))
file.Delete();
//else if();
}
return 1;
}
[MethodImpl(MethodImplOptions.Synchronized)]
public static string send(string filePath, string faxNumber)
{
//FAXCOMLib.FaxServer server = new FAXCOMLib.FaxServerClass();
//FAXCOMLib.FaxDoc doc = null;
FAXCOMEXLib.FaxServer exServer = new FAXCOMEXLib.FaxServerClass();
FAXCOMEXLib.FaxDocument exDoc = new FAXCOMEXLib.FaxDocumentClass(); ;
int response = -11;
//FAXCOMEXLib.
try
{
//server.
exServer.Connect(Environment.MachineName);
//server.
log.Debug("exDoc build connection to " + Environment.MachineName);
}
catch (System.UnauthorizedAccessException e)
{
//System.
log.Error("\n");
log.Error("exDoc System.Security.Authentication.AuthenticationException", e);
//log.Debug("e.GetObjectData : " + e.GetObjectData());
log.Debug("e.Message : " + e.Message);
log.Debug("e.StackTrace : " + e.StackTrace);
log.Debug("Environment.UserName : " + Environment.UserName);
log.Debug("\n");
return "????";
}
catch (Exception e)
{
System.Console.WriteLine("1" + e.Message);
log.Error("exDoc cannot connect to " + Environment.MachineName, e);
return "0";
}
try
{
exDoc.Body = filePath;
exDoc.ReceiptAddress = "Test";
exDoc.DocumentName = "work";
//FAXCOMEXLib.FaxRecipients frs;
//frs.Add(faxNumber, "John Doe");
exDoc.Recipients.Add(faxNumber, "John Doe");
}
catch (Exception e)
{
System.Console.WriteLine("assignments" + e.Message);
log.Error("cannot set the number.", e);
return "-2";
}
try
{
exDoc.ConnectedSubmit(exServer);
log.Debug("sending the fax to: " + exDoc.Recipients.ToString());
}
catch (Exception e)
{
log.Error("EX cannot send fax to " + exDoc.Recipients.ToString(), e);
System.Console.WriteLine(response + e.Message);
return "-3";
}
//exDoc.
try
{
exServer.Disconnect();
}
catch (Exception e)
{
log.Error("cannot disconnect.", e);
System.Console.WriteLine("2" + e.Message);
return "-4";
}
System.Console.WriteLine("w00t");
return "1";
//-----------------------------------------------------------------------------------------------------------
/*try
{
/*ServiceBase sb = new ServiceBase();
sb.ServiceName = "Fax";
sb.CanPauseAndContinue = true;
sb.CanHandleSessionChangeEvent = true;
System.ServiceProcess.ServiceBase.Run(sb);
ServiceController[] sList = System.ServiceProcess.ServiceController.GetServices();
foreach(ServiceController s in sList)
{
log.Debug(s.DisplayName);
if (s.DisplayName.Equals("Fax"))
{
log.Debug(Environment.UserName);
s.Start();
}
}
}
catch (Exception e)
{
log.Error("Error while starting the Service : ", e);
}*/
//------------------------------------------------------------------------------------------------------------
/*try
{
server.Retries = 3;
server.RetryDelay = 100;
//server.
server.Connect(Environment.MachineName);
//server.
log.Debug("build connection to " + Environment.MachineName);
}
catch (System.UnauthorizedAccessException e)
{
//System.
log.Error("\n");
log.Error("System.Security.Authentication.AuthenticationException", e);
//log.Debug("e.GetObjectData : " + e.GetObjectData());
log.Debug("e.Message : " + e.Message);
log.Debug("e.StackTrace : " + e.StackTrace);
log.Debug("Environment.UserName : " + Environment.UserName);
log.Debug("\n");
server.Disconnect();
return "????";
}
catch (Exception e)
{
System.Console.WriteLine("1" + e.Message);
log.Error("cannot connect to " + Environment.MachineName, e);
server.Disconnect();
return "0";
}
try
{
doc = (FAXCOMLib.FaxDoc)server.CreateDocument(filePath);
//log.Debug("");
}
catch (Exception e)
{
System.Console.WriteLine("doc error" + e.Message);
log.Error("cannot create document.", e);
server.Disconnect();
return "-1";
}
try
{
doc.FaxNumber = faxNumber;
doc.RecipientName = "Test";
doc.DisplayName = "work";
}
catch (Exception e)
{
System.Console.WriteLine("assignments" + e.Message);
log.Error("cannot set the number.", e);
server.Disconnect();
return "-2";
}
try
{
response = doc.Send();
log.Debug("sending the fax to: " + doc.FaxNumber);
}
catch (Exception e)
{
log.Error("cannot send fax to " + doc.FaxNumber, e);
System.Console.WriteLine(response + e.Message);
server.Disconnect();
return "-3";
}
try
{
server.Disconnect();
}
catch (Exception e)
{
log.Error("cannot disconnect.", e);
System.Console.WriteLine("2" + e.Message);
return "-4";
}
System.Console.WriteLine("w00t");
return "1";*/
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -