我注意到log4net有一个强类型的Level类.有没有人知道是否有办法通过解析日志级别字符串来创建一个Level对象?
例如:
我想将错误级别字符串"ERROR"解析为等效的log4net.Core.Level.Error对象,对于其他日志记录级别也是如此.
我写了自己的(天真)方法来做到这一点(见下文),但我希望log4net内部有一些东西能为我做这件事.
谢谢!
public static Level ParseLevel(string level)
{
switch (level.ToUpperInvariant())
{
case "ALERT":
return log4net.Core.Level.Alert;
case "ALL":
return log4net.Core.Level.All;
case "CRITICAL":
return log4net.Core.Level.Critical;
case "DEBUG":
return log4net.Core.Level.Debug;
case "EMERGENCY":
return log4net.Core.Level.Emergency;
case "ERROR":
return log4net.Core.Level.Error;
case "FATAL":
return log4net.Core.Level.Fatal;
case "FINE":
return log4net.Core.Level.Fine;
case "FINER":
return log4net.Core.Level.Finer;
case "FINEST":
return log4net.Core.Level.Finest;
case "INFO":
return log4net.Core.Level.Info;
case "NOTICE":
return log4net.Core.Level.Notice;
case "OFF":
return log4net.Core.Level.Off;
case "SEVERE":
return log4net.Core.Level.Severe;
case "TRACE":
return log4net.Core.Level.Trace;
case "VERBOSE": …Run Code Online (Sandbox Code Playgroud) 在C#中,给定一组任意的DayOfWeek终点(如DayOfWeek.Friday和DayOfWeek.Sunday),如何测试任意日期是否在这两天之间,包括?
例:
// result == true; Oct 23, 2010 is a Saturday
var result = InBetweenDaysInclusive(new DateTime(2010, 10, 23),
DayOfWeek.Friday,
DayOfWeek.Sunday);
// result == true; Oct 22, 2010 is a Friday
result = InBetweenDaysInclusive(new DateTime(2010, 10, 22),
DayOfWeek.Friday,
DayOfWeek.Sunday);
// result == true; Oct 24, 2010 is a Sunday
result = InBetweenDaysInclusive(new DateTime(2010, 10, 24),
DayOfWeek.Friday,
DayOfWeek.Sunday);
// result == false; Oct 25, 2010 is a Monday
result = InBetweenDaysInclusive(new DateTime(2010, 10, 25),
DayOfWeek.Friday,
DayOfWeek.Sunday);
Run Code Online (Sandbox Code Playgroud)
谢谢!
我试图通过我们的内部 Exchange 2007 服务器(使用 SMTP)从 C# 控制台应用程序将自动电子邮件从计算机发送到同一域中的所有客户端,但我遇到了只允许经过身份验证的发件人的通讯组列表的障碍。基本上,我发送的邮件被 Exchange 拒绝:
#550 5.7.1 RESOLVER.RST.AuthRequired; authentication required ##rfc822;AuthTESTGroup@example.com
我正在使用System.Net.Mail.SmtpClientCredentials 属性并将其设置为System.Net.CredentialCache.DefaultNetworkCredentials,但在某个地方,运行此程序的帐户的凭据(我,具有有效邮箱的有效域用户)没有正确传递到 Exchange。
我使用它是System.Net.CredentialCache.DefaultNetworkCredentials因为我不想对用户名或密码进行硬编码(无论是在代码本身还是在任何类型的配置文件中);我希望该进程使用 Windows 身份验证通过我们的 SMTP 服务器进行身份验证。
这是我用来重现问题的测试程序(域名已被匿名化):
using System;
using System.Net.Mail;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
var smtpClient = new SmtpClient
{
Host = "MAIL",
Port = 25,
DeliveryMethod = SmtpDeliveryMethod.Network,
Credentials = System.Net.CredentialCache.DefaultNetworkCredentials
};
var mailMessage = new MailMessage
{
Body = "Testing",
From = new MailAddress(Environment.UserName + "@example.com"),
Subject = …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用SharpSVN编写一个post-commit钩子但是无法弄清楚如何使用SharpSVN获取变更集信息给定版本号和repo的路径.任何想法都非常感谢.
我正在构建一个将在移动设备上查看的网页(特别是Blackberry).我的导航下拉列表实现为页面左上角的<select>.我希望用户可以点击/点按页面上的任意位置左上角的选择下拉菜单,而不是要求用户直接点击下拉列表.除了左上角的选择下拉菜单外,该页面没有其他链接或可点击对象.
这甚至可能吗?从我到目前为止发现的情况来看,似乎不可能以编程方式打开<select>下拉菜单,但我想我会把这个具体案例抛到那里.