小编Luk*_*uke的帖子

Quartz.Net - 周一,周二,周三每3周一次

我坚持使用Quartz.NET cron触发器.我能够将我的所有场景与下面的场景区分开来.

  • 星期一,星期二,星期三每X周......

我设法做到了这一点

0 31 15 ? * MON#2 *

每周一触发一次.

它会起作用0 31 15 ? * MON#2,TUE#2,WED#2 *吗?

我尝试在http://www.cronmaker.com上测试它,但它只显示星期一作为即将到来的日期.我唯一的要求是保持简单 - 即.不超过一个触发器.

c# scheduling quartz.net

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

MSBuild没有构建csproj

我在Visual Studio 2010中构建项目时遇到了问题.我不确定为什么在构建此项目时它会尝试构建为Platform ="BWS".

BWS平台

我检查了项目中的所有文件,但我找不到BWS的任何内容.似乎由于这个原因,我所引用的所有项目都没有建立.

另外,是否可以引用csproj中的其他项目?

msbuild csproj visual-studio-2010

6
推荐指数
1
解决办法
1157
查看次数

Quartz.Net - 每3个月一次

我试图在Quartz.NET中每3个月(每季度)调用一次(使用稳定版和最新版本2,测试结果相同).

我创建了cron触发器,0 30 8 3 */3 ? *每月3点30分在它发生的第三个月的第三个月被调用.

从技术上来说,从今天的9月2日开始,我预计它将在明天触发.然而,它的下一个运行时间显示为下个月.为什么会这样?

更新:根据我得到的答案,我创建了以下方法 - 可能对某些人有用:

public static string CalculateMonthsWithInterval(int startMonth, int interval)
        {
            var months = new List<string>();
            var monthNames = new [] {"JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"};

            var monthSelector = startMonth % interval;

            for (var i = 0; i < 12; i++)
            {
                if (i % interval == monthSelector)
                {
                    months.Add(monthNames[i]);
                }
            }

            return string.Join(",", months.ToArray());
        }
Run Code Online (Sandbox Code Playgroud)

Ps:我几个月没有使用索引,因为由于某些原因它与我的Quartz(v2 BETA)不兼容.此外,它在数据库级别更容易阅读.

示例调用 - 基于startDate的每3个月:

var …
Run Code Online (Sandbox Code Playgroud)

c# scheduling quartz.net

5
推荐指数
2
解决办法
2673
查看次数

Quartz.Net - 从今天开始每季度

如何创建从今天开始每3个月(每季度)触发一次的触发器.

我虽然可以做一些简单的事情

tr = TriggerUtils.MakeHourlyTrigger(2190);
// (365 / 4) * 24 hours = 2190
Run Code Online (Sandbox Code Playgroud)

我不认为这是解决这个问题的最佳方法.我虽然可能有一些花哨的cron触发方式来解决它?

c# scheduling quartz.net

4
推荐指数
1
解决办法
451
查看次数

C# - 具有可绑定属性的动态数量的类

我有X个RadioButtons(Silverlight).通常这个值在2-5之间.称之为"开关".每个单选按钮都绑定到该类的属性.

示例属性看起来像

private bool _radio1;
public bool Radio1{
 set{
  _radio1 = value;
  _radioX = !value; // make all others false
 }
 get{ return _radio1 }
}
Run Code Online (Sandbox Code Playgroud)

基本思想是,如果选择一个无线电,则关闭所有其他无线电.

我尝试过使用其他方法,与使用模板创建列表相比,这个方法似乎最简单(特别是在某些情况下我有其他按钮涉及无线电)

目前我有两个要求,我需要一个具有2个属性的类(例如,男性/女性)复选框和3个属性.

未来可能会有更多,因此为什么我认为为X量的单选按钮编写一个新类是愚蠢的.

有没有以某种方式使多个属性动态?我看到了一些字典方法.

我看到了这种方法 如何在C#中创建动态属性?

我不知道如何绑定它.

c# data-binding silverlight binding

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

TextBox - 绑定属性名称

我有一个TextBoxes列表,它们绑定到不同的属性.

<TextBox Text="{Binding Name, Mode=TwoWay,ValidatesOnDataErrors=True, ValidatesOnExceptions=True, NotifyOnValidationError=True}" VerticalAlignment="Center" Margin="5" Width="300" Grid.Column="1" Grid.Row="1" LostFocus="TextBox_Validate"/>
Run Code Online (Sandbox Code Playgroud)

我想写一个处理程序,如

private void TextBox_Validate(object sender, RoutedEventArgs e)
        {
            var textBox = (sender as TextBox);
            if(textBox!=null)
            {
                var propertyName = X; // Get propertyName textBox.Text is bound to.
                CurrentDataContext.ValidateFields("Name"); // Name in this specific textBox
            }
        }
Run Code Online (Sandbox Code Playgroud)

是否有可能获得属性的名称,所以我不必编写许多不同的方法来做同样的事情?

c# data-binding silverlight binding

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

Quartz.Net - 更新/删除作业/触发器

我正在使用 Quartz 提取最新任务(从另一个来源),然后将其添加为作业,为每个任务创建触发器等。- 简单的。

然而,有时任务会发生变化(因此它们已经存在)。因此我想更改它(让我们说保持简单Description。下面的代码使用给定日期更新特定任务的描述。

private static void SetLastPull(DateTime lastPullDateTime)
{
  var lastpull = sched.GetJobDetail("db_pull", "Settings");

  if(lastpull != null)
  {
    lastpull.Description = lastPullDateTime.ToString();
  }
  else
  {
    var newLastPull = new JobDetail("db_pull", "Settings", typeof(IJob));
    newLastPull.Description = lastPullDateTime.ToString();
    var newLastPullTrigger = new CronTrigger("db_pull", "Settings", "0 0 0 * 12 ? 2099");
    sched.ScheduleJob(newLastPull, newLastPullTrigger);
  }
}
Run Code Online (Sandbox Code Playgroud)

我假设在我这样做之后lastpull.Description = lastPullDateTime.ToString();我应该调用一些东西来保存对数据库的更改。有没有办法在 Quartz 中做到这一点,或者我必须使用其他方式并更新它?

c# scheduled-tasks quartz.net

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