小编tar*_*tic的帖子

在Quartz.net中处理JobExecutionException

可能是一个愚蠢的问题......但无论如何......

我已经设置了quartz,并且可以安排作业,我可以确认作业(实现IJob接口)正在运行.

查看网站上的文档(教程的第3课):

允许从execute方法抛出的唯一异常类型是JobExecutionException.

我希望当发生一个我没有显式处理的异常时,它应该抛出一个JobExecutionException,这样我就可以在'parent'应用程序中记录它.我已经将我的代码包装在try catch中,并且抛出了JobExecutionException,但现在在哪里处理它?

我不会在任何地方调用execute方法,这是由Quartz处理的(在一个单独的线程上).那么,如何在发生错误时处理该错误.我真的不想吞下Job中的错误

c# exception-handling quartz.net

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

Visual Studio 2008项目属性构建配置缺少选项

我有一个奇怪的问题,希望有人可以帮助我.

我有一个包含13个独立C#项目的解决方案.我正在使用Vista x64进行开发,我想构建这些项目以针对x86平台.这通常很容易.我可以转到解决方案属性 - >配置属性并将平台更改为x86.这里奇怪的部分是我的3个项目拒绝让我选择x86.

所以,我想我会分别去这三个项目中的每一个,并在Project Properties-> Build中更改它并更改Platform.并且这些项目没有配置和平台下拉列表.我google了一下,在Tools-> Options-> Projects And Solutions-> Show Advanced build configuration中找到了一个设置.选择此项后,当进入违规项目的项目属性时,我现在看到两个下拉列表,但平台只允许我选择活动(任何CPU).

对于这些项目,我也无法将解决方案属性中的平台更改为x86.

有任何想法吗?

64-bit platform visual-studio-2008

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

在部署 Azure Web 应用程序时最大限度地减少停机时间的最佳做法

我有一个应用服务计划,在这个计划中,我将我的解决方案的 5 个组件部署为 Web 应用程序。我在 Azure DevOps 中使用“发布管理”将代码部署到这些应用程序。

为了最大限度地减少部署期间的停机时间,我首先部署到暂存槽,然后将暂存槽切换到生产槽以完成部署。

我已经配置了应用服务预热(详见此处)来调用一个端点,该端点将在槽交换过程中“预热”应用程序。

这似乎有效,但我有两个问题:

  1. 即使预热已经运行,槽交换后向应用程序发出的第一个请求也需要很长时间。我怀疑这是由于生产插槽具有“粘性/插槽设置”,据我所知,这需要重新启动应用程序。为了测试这一点,我删除了插槽设置,但延迟仍然存在。

  2. 应用程序相互依赖,并且插槽交换(即使在 Azure DevOps 中并行启动)不能保证同时完成,这意味着新代码可能与旧代码交互。虽然我们可以围绕这个进行设计,但这不是最佳的。

从我目前的调查来看,我能想到的解决这些问题的唯一方法是启动第二个应用服务计划,并将流量管理器配置为位于两个服务计划的前面。部署时,我会优先部署一个服务计划,同时部署到另一个服务计划,完成后将流量转移到新部署的服务计划,同时升级另一个,然后在两者之间再次平衡两者之间的流量在相同的代码级别。

在 Azure 中使用 WebApps 时,当前零停机部署的“最佳实践”是什么?

与交通管理器的重复服务计划是一个可行的选择,如果不是,您有什么建议?

azure azure-devops

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

在将对象的名称作为String传递时,如何动态创建对象的实例?(VB.NET)

我有一个包含许多类的类库.我想动态创建这些类之一的实例,设置其属性,并调用方法.

例:

Public Interface IExample
    Sub DoSomething()
End Interface

Public Class ExampleClass
    Implements IExample

    Dim _calculatedValue as Integer

    Public Property calculatedValue() as Integer
        Get
            return _calculatedValue
        End Get
        Set(ByVal value As Integer)
            _calculatedValue= value
        End Set
    End Property        

    Public Sub DoSomething() Implements IExample.DoSomething
        _calculatedValue += 5
    End Sub
End Class

Public Class Example2
    Implements IExample

    Dim _calculatedValue as Integer

    Public Property calculatedValue() as Integer
        Get
            return _calculatedValue
        End Get
        Set(ByVal value As Integer)
            _calculatedValue = value
        End Set
    End Property …
Run Code Online (Sandbox Code Playgroud)

vb.net

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