public void Dispose() { mLogger.Dispose(); mLogger = null; mExceptionLogger = null; mHttp = null; }
public FacebookClient(string user, string password) { mInsCreated++; mFbClientId = mInsCreated; // each time we start host program and create multiple FBClient object // we need to supplied its folder for store error and log // this folder should not exist, otherwise, old error and log info will be lost because of overwrite. // create session folder if not exist if (!Directory.Exists("Session")) { Directory.CreateDirectory("Session"); } if (mSession == null) { var now = DateTime.Now; var today = now.Year + "_" + now.Month + "_" + now.Day; var dirCount = Directory.GetDirectories("Session", today, SearchOption.TopDirectoryOnly); mSession = "Session\\" + today + "_" + dirCount.Length; Directory.CreateDirectory(mSession); } // Folder structure // - Session // - {FBClientId} // - Log // - Error // create specific facebook client folder var fbcFolder = mSession + "\\" + mFbClientId; Directory.CreateDirectory(fbcFolder); // init Log var logFolder = fbcFolder + "\\Log"; Directory.CreateDirectory(logFolder); mLogger = new FileLogger(logFolder); // init error log var eLogFolder = fbcFolder + "\\Error"; Directory.CreateDirectory(eLogFolder); mExceptionLogger = new XpathErrorLog(eLogFolder); mHttp = new HttpHandler(); Username = user; Password = password; // after login, we need set delay so each request will delay at least x seconds to send next request. mHttp.DelayRequest = true; mHttp.DelaySeconds = 2; this.authorize(); }