小编Dan*_*iel的帖子

以多种语言记录和显示.NET异常

我在数据库中记录我的应用程序的错误消息和.NET异常,并在GUI上显示它们.GUI以运行应用程序的用户的语言环境的语言显示错误消息.为了实现这一点,我只记录错误消息的资源名称,并使用资源文件将它们转换为有意义的消息.

但是,我无法理解如何为.NET标准异常消息实现相同的目标.我只能记录消息字符串,但之后语言已经"烘焙",因此我只能用该单一语言显示异常.

有没有办法获取.NET异常的资源名称+插入到消息字符串中的所有参数,以便我可以记录这些?

.net c# exception-handling internationalization

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

使CRL缓存无效

有没有办法立即使CRL(证书吊销列表)缓存无效,导致客户端再次下载CRL?

我想在C#中实现它,而无需使用命令行'certutil.exe'.

更好的是能够设置失效时间(如UtcNow + 12hours)

c# certificate invalidation

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

如何垂直自动调整winforms datagridview控件的大小,以使其行始终可见

我有一个DataGridView显示有限数量的行,从不超过5.这DataGridView是放在一个DataRepeater控件上,所以它通常在屏幕上显示多次.我想要实现的是所有网格都调整到其内容的大小,因此如果其中包含4或5个项目则不显示滚动条,或者如果只有1或2个项目则占用额外的垂直空间.

网格仅包含文本数据.它们是数据绑定控件,因此如果底层数据源发生更改,它们将需要调整大小(我猜这个DataBindingComplete事件是合适的).

我怎么能实现这个目标?计数行是最佳选择吗?提前致谢.

.net c# datagridview winforms

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

定位后重置控制位置

我有一个基本语言英语的WinForms应用程序.我将表单本地化为德语.德语中的某些单词比英语单词更长,所以我需要在德语版本的表单上移动一些控件.问题是当我移动英语控件时,德国本地化并不反映运动(显然).

然而,有些控件被错误地移动了,我想重置它们,因此它们在英语表单上的移动也反映在德语表格上.

如何重置德语表单上单个控件的位置和大小(或所有属性),以便在英语表单上移动时控件将在表单的两种语言版本上移动?除了深入了解本地化的.resx文件并删除控件的所有属性赋值之外,还有其他方法吗?

c# localization winforms

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

使用连接进行条件过滤

我在具有单个参数的存储过程中具有与以下类似的查询:

SELECT
    ID,
    DepartmentID,
    FileName
FROM
    Document
-- conditional join from here
JOIN
    AllowedDepartmentList ON DepartmentID = AllowedDepartmentList.ID 
                          AND @IsAdmin = 'false'
Run Code Online (Sandbox Code Playgroud)

该参数@IsAdmin与数据类型位.

我使用的两个表是Document表(参见上面查询中的结构),并且AllowedDepartmentList包含单个int列.

我使用此查询来过滤Document带有连接的表的返回结果.我不使用该WHERE DepartmentID IN()子句,因为AllowedDepartmentList可以长达600-700个项目(IN()在可能的1M记录表中处理性能太高)所以我使用连接进行过滤,但过滤应该只执行,如果@IsAdmin参数是false.就像- 条件连接之后的行一样,评论甚至没有.

我尝试了上面的查询,但它没有产生任何记录.我怀疑我使用了错误的连接类型,但我被卡住了.

t-sql sql-server join

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

使用实体框架更新时获取“插入”输出

SQL Server 使用“inserted”关键字提供插入和更新记录的输出。

我有一个代表处理队列的表。我使用以下查询来锁定记录并获取锁定记录的 ID:

UPDATE TOP (1) GlobalTrans
SET LockDateTime = GETUTCDATE()
OUTPUT inserted.ID
WHERE LockDateTime IS NULL
Run Code Online (Sandbox Code Playgroud)

这将输出一个名为 ID 的列,其中包含所有更新的记录 ID(在我的例子中为单个 ID)。如何将其转换为 C# 中的 EF 来执行更新并取回 ID?

c# t-sql entity-framework entity-framework-6

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

wix服务依赖项

我的产品有几个功能,包括两项服务.我们称之为ServiceA和ServiceB.这两个服务功能都是可选的.但是,如果在安装期间选择了ServiceA和ServiceB,我想在它们之间创建服务依赖关系,以便ServiceB依赖于ServiceA(换句话说,ServiceB必须始终在启动ServiceA之前启动).

我如何在WIX 3.6中实现这一目标?

wix wix3 wix3.6

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

Tomcat 使用 Windows 证书存储进行 SSL

我使用 Tomcat 9.0.10,并希望使用 Windows 证书存储来保存 SSL 私钥和证书。这里有另一个线程,似乎有答案,但是在启动 Tomcat 时出现异常。

我的 server.xml 如下所示:

<Connector port="443"
       protocol="org.apache.coyote.http11.Http11NioProtocol"
       SSLEnabled="true"
       maxthreads="150"
       scheme="https"
       secure="true"
       keyAlias="SERVER-TST-1.domain.local"
       keystoreFile=""
       keystoreType="Windows-ROOT"
       clientAuth="false"
       sslProtocol="TLS"
       connectionTimeout="20000"
       keepAliveTimeout="200000" />
Run Code Online (Sandbox Code Playgroud)

这是例外:

 org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to initialize component [Connector[HTTP/1.1-443]]
 org.apache.catalina.LifecycleException: Protocol handler initialization failed
    at org.apache.catalina.connector.Connector.initInternal(Connector.java:935)
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
    at org.apache.catalina.core.StandardService.initInternal(StandardService.java:530)
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
    at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:852)
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:633)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:656)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:306)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:491)
Caused by: java.lang.IllegalArgumentException: Alias name [SERVER-TST-1.domain.local] does …
Run Code Online (Sandbox Code Playgroud)

ssl tomcat

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

如何从MS SQL数据表中检索列默认值

DataAdapter.FillSchema用来从MS SQL检索表的模式.不幸的是,这不会返回列的默认值.有没有办法以快速有效的方式检索此值作为模式的一部分,因为我需要检查数百个表?

谢谢!

c# dataadapter database-schema

4
推荐指数
2
解决办法
3269
查看次数

NCalc日期操作

我在一个项目中使用NCalc.有没有办法做日期操作,如

#16/02/2013# - #15/02/2013#= 1

我似乎无法产生结果.

Expression.Evaluate();
Run Code Online (Sandbox Code Playgroud)

对于上述表达式,结果为空.我可以比较两个日期,但有没有办法使用NCalc对它们进行操作?

c# ncalc

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

如果检查状态不确定,如何将checked设置为false

如果CheckState属性为Indeterminate,我需要一个复选框在Checked属性中报告False.有没有办法实现这个目标?

c# winforms

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