可能是一个愚蠢的问题......但无论如何......
我已经设置了quartz,并且可以安排作业,我可以确认作业(实现IJob接口)正在运行.
查看网站上的文档(教程的第3课):
允许从execute方法抛出的唯一异常类型是
JobExecutionException.
我希望当发生一个我没有显式处理的异常时,它应该抛出一个JobExecutionException,这样我就可以在'parent'应用程序中记录它.我已经将我的代码包装在try catch中,并且抛出了JobExecutionException,但现在在哪里处理它?
我不会在任何地方调用execute方法,这是由Quartz处理的(在一个单独的线程上).那么,如何在发生错误时处理该错误.我真的不想吞下Job中的错误
我有一个奇怪的问题,希望有人可以帮助我.
我有一个包含13个独立C#项目的解决方案.我正在使用Vista x64进行开发,我想构建这些项目以针对x86平台.这通常很容易.我可以转到解决方案属性 - >配置属性并将平台更改为x86.这里奇怪的部分是我的3个项目拒绝让我选择x86.
所以,我想我会分别去这三个项目中的每一个,并在Project Properties-> Build中更改它并更改Platform.并且这些项目没有配置和平台下拉列表.我google了一下,在Tools-> Options-> Projects And Solutions-> Show Advanced build configuration中找到了一个设置.选择此项后,当进入违规项目的项目属性时,我现在看到两个下拉列表,但平台只允许我选择活动(任何CPU).
对于这些项目,我也无法将解决方案属性中的平台更改为x86.
有任何想法吗?
我有一个应用服务计划,在这个计划中,我将我的解决方案的 5 个组件部署为 Web 应用程序。我在 Azure DevOps 中使用“发布管理”将代码部署到这些应用程序。
为了最大限度地减少部署期间的停机时间,我首先部署到暂存槽,然后将暂存槽切换到生产槽以完成部署。
我已经配置了应用服务预热(详见此处)来调用一个端点,该端点将在槽交换过程中“预热”应用程序。
这似乎有效,但我有两个问题:
即使预热已经运行,槽交换后向应用程序发出的第一个请求也需要很长时间。我怀疑这是由于生产插槽具有“粘性/插槽设置”,据我所知,这需要重新启动应用程序。为了测试这一点,我删除了插槽设置,但延迟仍然存在。
应用程序相互依赖,并且插槽交换(即使在 Azure DevOps 中并行启动)不能保证同时完成,这意味着新代码可能与旧代码交互。虽然我们可以围绕这个进行设计,但这不是最佳的。
从我目前的调查来看,我能想到的解决这些问题的唯一方法是启动第二个应用服务计划,并将流量管理器配置为位于两个服务计划的前面。部署时,我会优先部署一个服务计划,同时部署到另一个服务计划,完成后将流量转移到新部署的服务计划,同时升级另一个,然后在两者之间再次平衡两者之间的流量在相同的代码级别。
在 Azure 中使用 WebApps 时,当前零停机部署的“最佳实践”是什么?
与交通管理器的重复服务计划是一个可行的选择,如果不是,您有什么建议?
我有一个包含许多类的类库.我想动态创建这些类之一的实例,设置其属性,并调用方法.
例:
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)