0

首先,我是 C# 的初学者,我没有很多程序员的习惯。

我想在 Windows azure 和控制台应用程序上使用相同的类。
例如这个:

public static class Conversion
{
    public static void Convert(string fileName)
    {
        // ...
        if (error)
            Console.WriteLine("It is a error in Conversion.Convert(string).");
        // ...
        Console.WriteLine("Conversion success !");
    }
}

但是,在 azure 的控制台上显示并不是很有用。我想创建一个接口和它的 2 个实现。

public interface ILog
{
    void Write(string str);
    void WriteLinge(string str);
}

public static class LogAzure : ILog
{
    public static void WriteLine(string str)
    {
        Trace.WriteLine(str);
    }

}


public static class LogConsole : ILog
{
    public static void WriteLine(string str)
    {
        Console.WriteLine(str);
    }
}

所以在我的转换方法中,我必须使用 ILog.WriteLine()。

问题:
首先——也是更重要的——这是一个好主意/做法吗?

如果是:
如何知道我是否在 Azure 中?( RoleEnvironment.IsAvailable ??)
如何使用 LogAzure 或 LogConsole ?(对我的方法有论据?)

4

1 回答 1

1

在这两种情况下都应该使用 Trace。配置控制台应用程序以使用ConsoleTraceListener和 azure 版本以使用Azure 诊断

于 2012-06-28T13:38:44.490 回答