⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 faxexsender.cs

📁 faxcomlib + crystal report
💻 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 + -