Significant amount of changes to hosted organizations and exchange:

Exchange 2010 SP2 provisioning separated through a new provider
Exchange 2010 SP2 now compliant with product group guidelines
Support for Database Availability Group
Fixed Distribution List view scope to only tenant
Consumer support (individual mailboxes as hotmail) added
Mailbox configuration moved to mailbox plans concept
CN creation is now based on UPN
sAMAccountName generation revised and decoupled from tenant name
2007 (ACL Based), 2010 (ACL Bases), 2010 SP2 (ABP) supported
Automated Hosted Organization provisioning added to create hosting space
Enterprise Server webservice extended with ImportMethod
Mobile tab fixed
Added more information to users listview
This commit is contained in:
robvde 2012-07-09 12:03:24 +04:00
parent 2f8a580846
commit 50f2c43315
194 changed files with 12994 additions and 9755 deletions

View file

@ -1,4 +1,4 @@
// Copyright (c) 2012, Outercurve Foundation.
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
@ -31,125 +31,125 @@ using System.Diagnostics;
namespace WebsitePanel.Server.Utils
{
/// <summary>
/// Application log.
/// </summary>
public sealed class Log
{
/// <summary>
/// Application log.
/// </summary>
public sealed class Log
{
private static TraceSwitch logSeverity = new TraceSwitch("Log", "General trace switch");
private Log()
{
}
/// <summary>
/// Write error to the log.
/// </summary>
/// <param name="message">Error message.</param>
/// <param name="ex">Exception.</param>
public static void WriteError(string message, Exception ex)
{
try
{
if (logSeverity.TraceError)
{
string line = string.Format("[{0:G}] ERROR: {1}\n{2}\n", DateTime.Now, message, ex);
Trace.TraceError(line);
}
}
catch { }
}
private Log()
{
}
/// <summary>
/// Write error to the log.
/// </summary>
/// <param name="ex">Exception.</param>
public static void WriteError(Exception ex)
{
/// <summary>
/// Write error to the log.
/// </summary>
/// <param name="message">Error message.</param>
/// <param name="ex">Exception.</param>
public static void WriteError(string message, Exception ex)
{
try
{
if (logSeverity.TraceError)
{
string line = string.Format("[{0:G}] ERROR: {1}\n{2}\n", DateTime.Now, message, ex);
Trace.TraceError(line);
}
}
catch { }
}
try
{
if (ex != null)
{
WriteError(ex.Message, ex);
}
}
catch { }
}
/// <summary>
/// Write error to the log.
/// </summary>
/// <param name="ex">Exception.</param>
public static void WriteError(Exception ex)
{
/// <summary>
/// Write info message to log
/// </summary>
/// <param name="message"></param>
public static void WriteInfo(string message, params object[] args)
{
try
{
if (logSeverity.TraceInfo)
{
Trace.TraceInformation(FormatIncomingMessage(message, args));
}
}
catch { }
}
try
{
if (ex != null)
{
WriteError(ex.Message, ex);
}
}
catch { }
}
/// <summary>
/// Write info message to log
/// </summary>
/// <param name="message"></param>
public static void WriteWarning(string message, params object[] args)
{
try
{
if (logSeverity.TraceWarning)
{
Trace.TraceWarning(FormatIncomingMessage(message, args));
}
}
catch { }
}
/// <summary>
/// Write info message to log
/// </summary>
/// <param name="message"></param>
public static void WriteInfo(string message, params object[] args)
{
try
{
if (logSeverity.TraceInfo)
{
Trace.TraceInformation(FormatIncomingMessage(message, "INFO", args));
}
}
catch { }
}
/// <summary>
/// Write start message to log
/// </summary>
/// <param name="message"></param>
/// <summary>
/// Write info message to log
/// </summary>
/// <param name="message"></param>
public static void WriteWarning(string message, params object[] args)
{
try
{
if (logSeverity.TraceWarning)
{
Trace.TraceWarning(FormatIncomingMessage(message, "WARNING", args));
}
}
catch { }
}
/// <summary>
/// Write start message to log
/// </summary>
/// <param name="message"></param>
public static void WriteStart(string message, params object[] args)
{
try
{
if (logSeverity.TraceInfo)
{
Trace.TraceInformation(FormatIncomingMessage(message, args));
}
}
catch { }
}
/// <summary>
/// Write end message to log
/// </summary>
/// <param name="message"></param>
public static void WriteEnd(string message, params object[] args)
{
try
{
if (logSeverity.TraceInfo)
{
Trace.TraceInformation(FormatIncomingMessage(message, args));
}
}
catch { }
}
{
try
{
if (logSeverity.TraceInfo)
{
Trace.TraceInformation(FormatIncomingMessage(message, "START", args));
}
}
catch { }
}
private static string FormatIncomingMessage(string message, params object[] args)
{
//
if (args.Length > 0)
{
message = String.Format(message, args);
}
//
return String.Concat(String.Format("[{0:G}] END: ", DateTime.Now), message);
}
}
/// <summary>
/// Write end message to log
/// </summary>
/// <param name="message"></param>
public static void WriteEnd(string message, params object[] args)
{
try
{
if (logSeverity.TraceInfo)
{
Trace.TraceInformation(FormatIncomingMessage(message, "END", args));
}
}
catch { }
}
private static string FormatIncomingMessage(string message, string tag, params object[] args)
{
//
if (args.Length > 0)
{
message = String.Format(message, args);
}
//
return String.Concat(String.Format("[{0:G}] {1}: ", DateTime.Now, tag), message);
}
}
}