小编ebb*_*ebb的帖子

Log4Net +完成后发送电子邮件?

我刚刚开始使用Log4Net ...我现在想要发送一封电子邮件,其中包含附加或直接邮寄的完整日志.使用SmtpAppender的问题在于它需要一个未知的bufferSize,因为它应该发送邮件,无论是充满错误还是信息.

更新:我的配置文件

<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">

    <to value="ebb@mail.com" />
    <from value="ebb@mail.com" />
    <subject value="Backup Application - Log" />
    <smtpHost value="mailserver" />
    <authentication value="1" />
    <username value="userName" />
    <password value="mypw" />

    <port value ="25"/>
    <lossy value="true" />
    <bufferSize value="500" />

    <evaluator type="log4net.Core.LevelEvaluator">
        <threshold value="ALL"/>
    </evaluator>

    <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%timestamp [%thread] %-5level %logger – %message%newline" />
    </layout>

</appender>
Run Code Online (Sandbox Code Playgroud)

log4net

9
推荐指数
1
解决办法
6356
查看次数

C# - ConfigurationSection isRequired属性

我有这个奇怪的问题...在我的代码中我是否将IsRequired的值设置为false或true然后它保持为false ..但是如果我输入DefaultValue它有效吗?

非工作代码是:

public class FtpSettingsSection : ConfigurationSection
{
    [ConfigurationProperty("host", IsRequired = true)]
    public HostElement Host
    {
        get { return (HostElement)this["host"]; }
        set { this["host"] = value; }
    }

}

public class HostElement : ConfigurationElement
{
    [ConfigurationProperty("URL", IsRequired = true)]
    public string URL
    {
        get { return (string)this["URL"]; }
        set { this["URL"] = value; }
    }
}
Run Code Online (Sandbox Code Playgroud)

而工作代码是:

public class FtpSettingsSection : ConfigurationSection
{
    [ConfigurationProperty("host", DefaultValue = "", IsRequired = true)]
    public HostElement Host
    {
        get { return (HostElement)this["host"]; } …
Run Code Online (Sandbox Code Playgroud)

c# configuration config

9
推荐指数
2
解决办法
5377
查看次数

存储库模式的替代方案?

人们对我大吼大叫,我应该总是使用存储库模式,我已经做了很长一段时间......现在我想知道这个模式是否有任何合适的替代方案?

data-access-layer repository repository-pattern

9
推荐指数
1
解决办法
2446
查看次数

窗钩 - 它们如何工作?

我不知道窗口挂钩如何在"系统级"工作.MSDN只是简单地触及了正在发生的事情:

钩子是系统消息处理机制中的一个点,应用程序可以安装子程序来监视系统中的消息流量,并在它们到达目标窗口过程之前处理某些类型的消息.

我最好的猜测如下:

在此输入图像描述

在将每条消息添加到窗口的消息队列之前,它将首先将消息发送到全局/本地挂钩,这可能会执行某些操作,具体取决于它们的挂钩过程.在所有全局挂钩和本地挂钩之后,消息最终被添加到窗口消息队列中.

但是,MSDN说,对于某些类型的挂钩的,它会监视events,notifications等等.

一个例子是WH_MOUSE_LL钩子:

安装一个监视低级鼠标输入事件的钩子过程.有关更多信息,请参阅LowLevelMouseProc挂接过程.

当他们说events,我们是在谈论窗口消息,还是他们意味着什么呢?

我错了吗?

windows

9
推荐指数
1
解决办法
1245
查看次数

getJSON回调没有触发

我正在使用以下脚本进行调用,该脚本在单击锚标记时调用

   function GetToken(videoId) {
        debugger;
        var json = $.getJSON("/Vod/RequestAccessToken/"+videoId, function(result){
            alert("token recieved: " + result.token);
        });
   }
Run Code Online (Sandbox Code Playgroud)

在服务器应用程序中,我接收到调用,因此我知道它是一个有效的URL,但是没有调用回调.如果我通过jquery代码(f11/f10)设置回调被调用?? !!!?

服务器以类的形式从MVC应用程序返回结果

// function called
public JsonResult RequestAccessToken(int id)
{
    Token t = new Token();
    t.MasterId = Guid.NewGuid();
    var result = new TokenResult(t.MasterId);
    return this.Json(result, JsonRequestBehavior.AllowGet);
}

// class returned
public class TokenResult
{
    public TokenResult() { }
    public TokenResult(Guid g) { token = g.ToString(); }
    public string token = null;
}
Run Code Online (Sandbox Code Playgroud)

当我通过浏览器result =访问url时

{
  "token":"c877453e-739d-4883-9310-91ddd707d6af"
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net ajax jquery json

8
推荐指数
2
解决办法
1万
查看次数

C#到F# - EF代码优先

我和Dealer谁之间有一对多的关系Cars.

我正在尝试将用于EF的C#代码转换为F#...问题只是在我的F#代码中它可以很好地获得经销商,但它不会为该经销商...它只是返回null,但在它的C#版本有效吗?

我的代码:

C#版本

public class Dealer
{
    public int ID { get; set; }
    public string Name { get; set; }
    public virtual ICollection<Car> Cars { get; set; }

    public Dealer()
    {
        Cars = new List<Car>();
    }
}
public class Car
{
    public int ID { get; set; }
    public string CarName { get; set; }
    public Dealer Dealer { get; set; }
    public int DealerId { get; set; }

    public Car()
    {
        Dealer = …
Run Code Online (Sandbox Code Playgroud)

c# f# entity-framework ef-code-first entity-framework-4.1

8
推荐指数
1
解决办法
3382
查看次数

ASP.NET MVC3 - 自定义验证属性 - >客户端损坏

我正在尝试使用客户端验证来实现自定义验证属性.

我的属性如下:

public class FileSize : ValidationAttribute, IClientValidatable
{
    private readonly int _size;

    public FileSize(int size)
    {
        ErrorMessage = "Invalid size.";
        _size = size;
    }

    public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
    {
        var rule = new ModelClientValidationRule
        {
            ValidationType = "fileSize",
            ErrorMessage = ErrorMessage
        };

        rule.ValidationParameters["size"] = _size;

        yield return rule;
    }

    public override bool IsValid(object value)
    {
        return ((HttpPostedFileBase) value).ContentLength < _size;
    }
}
Run Code Online (Sandbox Code Playgroud)

并且脚本在我的视图中包含如下内容:

<script src="@Url.Content("~/Scripts/jquery-1.4.4.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
<script type="text/javascript">
    $(function () { …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc jquery asp.net-mvc-3

8
推荐指数
1
解决办法
8573
查看次数

将测量单位类型提升到特定功率

有可能以某种方式为度量类型创建一个pow函数吗?f#中的pow函数仅int作为参数,然后Math类中的pow函数需要float- 但是剂量允许float<cm>.

我首先想到的是:

let rec myPow(x:float<cm>,y:int) =
    if y = 0 then x
    else myPow(x*x, y - 1)
Run Code Online (Sandbox Code Playgroud)

可能会解决,但显而易见的是,每次遇到else线时都会改变返回类型.

有什么建议?

f#

8
推荐指数
3
解决办法
569
查看次数

System.Threading.Timer只触发一次

使用下面的代码,计时器只会触发一次.我错过了什么?

public static List<string> Test = new List<string> { "TEST1", "TEST2" };

public static void Start()
{
    var t = new System.Threading.Timer(o =>
    {
        foreach (var item in Test)
        {
            Console.WriteLine("Say hello!"); 
        }
    }, null, 0, 1250);
}
Run Code Online (Sandbox Code Playgroud)

c# multithreading

8
推荐指数
1
解决办法
2492
查看次数

调度员 - 它是如何工作的?

在阅读了Dispatcher该类的文档之后,我意识到它也可以用于非UI排队操作.

那么Dispatcher班级实际上是如何运作的?我知道这一点,它的主要工作是将操作排入特定线程 - 但它如何将这些操作"发送"到线程?线程如何"获得"这些行为?

我最好的猜测是每个线程都有某种"线程队列",但我再也不知道了.

.net c# windows multithreading

7
推荐指数
1
解决办法
1952
查看次数