小编HAd*_*des的帖子

如何正确清理Excel互操作对象?

我在C#(ApplicationClass)中使用Excel互操作,并在我的finally子句中放置了以下代码:

while (System.Runtime.InteropServices.Marshal.ReleaseComObject(excelSheet) != 0) { }
excelSheet = null;
GC.Collect();
GC.WaitForPendingFinalizers();
Run Code Online (Sandbox Code Playgroud)

虽然这种工作,Excel.exe即使我关闭Excel后,该过程仍然在后台.只有在我的应用程序手动关闭后才会发布.

我做错了什么,或者是否有其他方法可以确保互操作对象得到妥善处理?

c# excel interop com-interop

733
推荐指数
20
解决办法
30万
查看次数

C#等效于SQL Server中的IsNull()函数

在SQL Server中,您可以使用该IsNull()函数检查值是否为null,如果是,则返回另一个值.现在我想知道C#中是否有类似的东西.

例如,我想做类似的事情:

myNewValue = IsNull(myValue, new MyValue());
Run Code Online (Sandbox Code Playgroud)

代替:

if (myValue == null)
  myValue = new MyValue();
myNewValue = myValue;
Run Code Online (Sandbox Code Playgroud)

谢谢.

.net c# sql-server isnull

107
推荐指数
4
解决办法
17万
查看次数

在SQL Server中,何时应该使用GO以及何时应该使用分号;?

我总是对在命令后应该使用GO关键字以及命令末尾是否需要分号时感到困惑.有什么区别以及为什么/何时应该使用它们?

当我在SQL Server Management Studio中运行Generate-script时,它似乎在整个地方使用GO,但不是分号.

sql sql-server

93
推荐指数
5
解决办法
6万
查看次数

轮询有什么问题?

我听说有一些开发人员最近说他们只是轮询东西(数据库,文件等)以确定什么时候发生了变化,然后运行任务,比如导入.

我真的反对这个想法,并认为利用Remoting,WCF等可用技术将远远优于民意调查.

但是,我想确定为什么其他人更喜欢一种方法而不是另一种方法的原因,更重要的是,我怎样才能说服其他人在当今这个时代投票是错误的呢?

.net c# asp.net polling

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

C#Remoting - 如何关闭CustomErrors

当我尝试使用远程连接到我的服务器应用程序时出现以下错误:

连接到远程服务器时似乎出现了问题:
服务器遇到内部错误.有关更多信息,请关闭服务器.config文件中的customErrors.

这是我的服务器应用程序上的代码:

TcpChannel tcpChannel = new TcpChannel(999);
MyRemoteObject remObj = new MyRemoteObject (this);
RemotingServices.Marshal(remObj, "MyUri");
ChannelServices.RegisterChannel(tcpChannel);
Run Code Online (Sandbox Code Playgroud)

它似乎第一次工作,但除非重新启动服务器应用程序,否则会发生错误.

我猜想有些东西没有被正确清理,但我不确定是什么因为customError仍然存在.

我开始的任何想法.谢谢.

[编辑] - 感谢Gulzar,我将上面的代码修改为以下内容,现在显示错误:

RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
TcpChannel tcpChannel = new TcpChannel(999);
MyRemoteObject remObj = new MyRemoteObject (this);
RemotingServices.Marshal(remObj, "MyUri");
ChannelServices.RegisterChannel(tcpChannel);
Run Code Online (Sandbox Code Playgroud)

.net c# remoting custom-errors

31
推荐指数
2
解决办法
3万
查看次数

SQL Server触发器 - 执行顺序

有谁知道SQL Server如何确定执行顺序触发器(相同类型,即触发器之前).有没有办法改变这一点,以便我可以指定我想要的顺序.如果没有,为什么不呢.

谢谢.

sql t-sql sql-server sql-server-2005

30
推荐指数
5
解决办法
3万
查看次数

如何续订过期的ClickOnce证书?

我需要对一年多未触及的ClickOnce应用程序进行一些更改,因此证书已过期.

我已经读过,使用新证书发布会使应用程序失败,因为它将使用不同的密钥进行签名.

因此,我认为我需要使用相同的证书,但不知道如何更新它.

c# clickonce visual-studio-2008 visual-studio

28
推荐指数
3
解决办法
2万
查看次数

我应该设计一个主键为varchar或int的表吗?

我知道这是主观的,但我想知道人们的意见,并希望在设计sql server表结构时能够应用一些最佳实践.

我个人认为在固定(最大)长度varchar上键入一个表是禁止的,因为它意味着必须在使用它作为外键的任何其他表中传播相同的固定长度.使用a int,将避免必须在整个板上应用相同的长度,这必然导致人为错误,即1个表具有varchar (10),而另一个表varchar (20).

这听起来像是最初设置的噩梦,而且意味着将来维护表格也很麻烦.例如,假设keyed varchar列突然变成12个字符而不是10个字符.你现在必须去更新所有其他表,这可能是一个巨大的任务多年.

我错了吗?我错过了什么吗?我想知道其他人对此的看法,以及坚持使用int作为主键是避免维护噩梦的最佳方法.

sql sql-server database-design

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

如何在Sql server中确定公共假日?

我有一个用c#编写的应用程序,不能在公共假期或周末运行.我已经环顾四周,并没有找到任何地方(官方)为下一个50年提供所有公共假期.

如果我能得到这些,我只需将它们批量插入我的sql server Holidays表并使用它.但是,我无法在任何地方找到这些数据.

有谁知道Sql server是否支持公共假期或某种算法来解决它们?或者是否有人在某个地方可以批量插入.

c# sql sql-server

18
推荐指数
4
解决办法
3万
查看次数

触发器与约束的性能注意事项

我试图找出我是否应该在数据库内部的触发器或约束中使用业务关键逻辑.
到目前为止,我已经在触发器中添加了逻辑,因为它让我可以控制接下来发生的事情,这意味着我可以提供自定义用户消息而不是可能会混淆用户的错误.

使用约束优先于触发器是否有任何明显的性能提升,以及确定使用哪些优先实践的最佳实践.

triggers database-design constraints

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