小编m.e*_*son的帖子

在Windows服务中保留变量的可接受方式是什么

我有一个Windows服务,它将一直运行,但只有在自上次至少24小时后才会激活.因此,我需要存储自上次执行有效载荷以来的时间和日期.

要做到这一点,我正在考虑写App.Config:

ConfigurationManager.AppSettings.Set("LastRunTime", DateTime.Now.ToString());
Run Code Online (Sandbox Code Playgroud)

但是这似乎并不存在,而是缓存,如果重新启动服务则不行.

那么为Windows服务保留值的可接受方法是什么?

.net c# windows-services .net-4.0

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

十进制算术溢出

我根本无法解决这个问题,我试图根据下面的条件求和TOTAL的值,这会导致ArithmeticOverflow:

var rawData = (from e in Context.TOTALS
                where (e.PAN == "2600000246701" || e.PAN == "2600000246696")
                select e.TOTAL).Sum();
Run Code Online (Sandbox Code Playgroud)

但是,如果我将条件分成两个单独的查询,它可以工作:

var rawData1 = (from e in Context.TOTALS
                where (e.PAN == "2600000246696")
                select e.TOTAL).FirstOrDefault();

var rawData2 = (from e in Context.TOTALS
                 where (e.PAN == "2600000246701")
                 select e.TOTAL).FirstOrDefault();

decimal? output = rawData1 + rawData2; //output is 696768.0186M
Run Code Online (Sandbox Code Playgroud)

该值明显符合小数,我不明白为什么会有任何缩小的转换.

我正在使用Entity Framework和Oracle后端.

.net c# linq oracle entity-framework

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

抽象类还是部分?

我有许多任务可以通过类似(但略有不同)的类来执行,这些类都共享一组共同的功能.

我的目的是将这个功能提取到父类中,因为我不希望这个实现,我已经标记了它abstract.

但是,所有调用类都调用单个方法 - 用于包含提取的公共功能.我不想override使用父类方法,但除了子类中定义的内容之外,我还希望它能够执行.

我最初认为这是一个部分方法的工作,但我认为这将在某种程度上打破语义.那么对我来说最好的方法是什么?在这里体验一点隧道视野.

.net c# abstract-class

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

反映ObjectContext中的所有更改,而不持久保存到数据库

因为ObjectContext.SaveChanges()在一个事务中发生,我认为最好是我的应用程序首先执行所有查询/更新,ObjectContext然后再调用SaveChanges()一次将数据写入数据库.

但是这样做意味着如果我创建一个对象并且后续查询ObjectContext它会否认它存在(假装因为数据库尚未更新).我以为我可以通过一些SaveOptions解决这个问题,但它看起来并不像我能做到的那样.

我基本上希望它ObjectContext像一个代理,我可以修改,因为我希望一次性提交.有没有办法实现这个目标?

c# linq oracle entity-framework objectcontext

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

将泛型参数传递给非泛型方法

我正在尝试创建一个方法,将nullicbles舍入到给定的小数位.理想情况下,我希望这是一个通用的,以便我可以使用双打和小数作为Math.Round()许可.

我在下面编写的代码将无法编译,因为无法(可理解)解析该方法,因为无法知道调用哪个重载.这将如何实现?

internal static T? RoundNullable<T>(T? nullable, int decimals) where T : struct
{
    Type paramType = typeof (T);

    if (paramType != typeof(decimal?) && paramType != typeof(double?))
        throw new ArgumentException(string.Format("Type '{0}' is not valid", typeof(T)));

    return nullable.HasValue ? Math.Round(nullable.Value, decimals) : (T?)null; //Cannot resolve method 'Round(T, int)'
 }
Run Code Online (Sandbox Code Playgroud)

.net c# generics overloading

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

防止调用下一个事件处理程序

我有两个事件处理程序连接到Windows窗体中的按钮单击,如下所示:

this.BtnCreate.Click += new System.EventHandler(new RdlcCreator().FirstHandler);
this.BtnCreate.Click += new System.EventHandler(this.BtnCreate_Click);
Run Code Online (Sandbox Code Playgroud)

两者都被正确调用.

但是可以FirstHandler()防止BtnCreate_Click()被执行吗?就像是:

void FirstHandler(object sender, EventArgs e)
{
   if (ConditionSatisfied)
     //Prevent next handler in sequence being executed

}
Run Code Online (Sandbox Code Playgroud)

我知道我可以取消订阅该事件,但这可以通过编程方式完成(从方法中)吗?

.net c# event-handling

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

使用WITH子句(CTE)插入会导致ORA-00928

我正在尝试做一个本质上非常简单的任务,结果是:

ORA-00928:缺少SELECT关键字

我要做的就是将结果持久化periods到table中globalTable。选择工作正常(我返回了行),但是一旦将其替换为“插入”,就会出现上述错误。

create global temporary table globalTable
(
    ids number(11)
);

with periods as
(
select cl.id uniqueId
from inv_mpan_hh_con_lines cl
left join invoice_vat_lines vl on
                 cl.invoice_id = VL.INVOICE_ID
where rownum < 4
)

--//Issue occurs at insert keyword.  If I comment it and uncomment select it works as expected//--
--select uniqueId
insert into globalTable
from periods;
Run Code Online (Sandbox Code Playgroud)

非常感谢任何指针。

sql oracle toad oracle10g sql-insert

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

Powershell - 手动触发预定作业

我创建了一个powershell作业,当我使用以下命令时,我可以看到它:

PS C:\WINDOWS\system32> Get-ScheduledJob -Name KillTicker | Get-JobTrigger

Id         Frequency       Time                   DaysOfWeek              Enabled
--         ---------       ----                   ----------              -------
1          AtStartup                                                      True
Run Code Online (Sandbox Code Playgroud)

由于这是一个启动工作,我真的不想重新开始测试它 - 如何手动启动这项工作?

powershell scheduled-tasks

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

使用String.Empty的好处

可能重复:
在C#中,我应该使用string.Empty还是String.Empty还是""?

我只是不明白使用String.Empty超过""的好处.除了它强烈打字更长.

所以,请问为什么我要使用它?

.net c# vb.net asp.net

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

缩短此IF声明

我不喜欢宽代码,特别是当它迫使我滚动时.所以写了这个:

If _item.SubItems(pd.perioddate).Text = "N/A" Or _item.SubItems(pd.perioddate).Text = String.Empty Then
            dtpDeadlineforAP.Checked = False
End If
Run Code Online (Sandbox Code Playgroud)

是否有一种体面的方式来减轻它,使它更优雅?

.net vb.net refactoring

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