这就是我对"CLR via C#","Effective C#"和其他资源的IDisposable和终结器的理解:
虽然我理解并推理上述所有内容,但有一种情况我认为打破这些规则是有意义的:负责非托管资源的单例类(例如提供对特定文件的单点访问) ).
我认为在单例上使用Dispose()方法总是错误的,因为单例实例应该在应用程序的生命周期中存在,如果任何客户端代码调用Dispose(),那么你就被填充了.但是,您需要一个终结器,以便在卸载应用程序时,终结器可以清理非托管资源.
因此,在我看来,使用没有实现IDisposable的终结器的单例类似乎是一件合理的事情,但这种类型的设计与我所理解的最佳实践相反.
这是一种合理的方法吗?如果没有,为什么不呢?有哪些优越的选择?
我是一名初级开发人员,去过大学的最后一年.我主要是面向asp.net的,甚至还有那种语言的兼职工作.我有兴趣转换到Linux,因为Visual Studio不支持在Mono中编写我的代码.
我应该注意Mono中是否存在明显的局限性(关于ASP.NET)?
我在Visual Studio 2008中有一个包含多个C#项目的解决方案.每个项目都有自己的配置文件(App.config和Settings.settings).这在结构上是有意义的,因为每个模块都是自主的,并且在许多不同的解决方案中使用.
我的问题是,当我编译解决方案时,只包含启动项目(或包含可执行文件的项目)的配置文件.对于其他模块,配置设置将编译到DLL中.所以我的问题是,在Visual Studio中是否有任何方法可以组合多个配置文件,或链接它们以便在运行时更改DLL的设置?
c# configuration app-config configuration-files visual-studio-2008
我在我的个人SVN存储库中启动了一个小应用程序.它获得了足够的兴趣,值得将开发转移到共享组存储库.包括其历史记录的应用程序(只有一个文件)是否可以迁移到组存储库?
我们有一个ASP.NET文件传递应用程序(内部用户上传,外部用户下载),我想知道分发文件的最佳方法是什么,所以我们只有将应用程序的文件存储在一个文件上才会出现单点故障服务器.我们将应用程序的负载分布在多个前端Web服务器上,这意味着对于文件存储,我们不能简单地在Web服务器上本地存储文件.
我们当前的设置让我们指向主数据库/文件服务器上的共享.在一天中,我们将主服务器上共享的内容复制到故障转移.这个scneario确保我们有一台辅助计算机上有相当新的数据但我们希望能够从主服务器故障转移到故障转移,然后再返回,而不会丢失前端应用程序中的数据或错误.现在,这是一个相当手动的过程.
可能的方案包括:
那么你通常如何解决这个问题,什么是最好的解决方案?
在MySQL中,索引(索引)是否被定义为UNIQUE区分大小写?
在过去,我使用RailsForum.com作为资源,但最近我遇到了太多的垃圾邮件而且没有足够的有用帖子.当然只是我的观点.
那么,Rails开发人员将什么用作平台的论坛资源?
是否可以在本地系统(Windows XP)上存储只能由应用程序本身访问的密码?
我的本能回答是"不".即使使用某种散列或加密,我也会认为只要源代码可用,那么确定的搜索者总是可以使用它来检索密码.
我正在开发一个个人开源爱好项目,我想让用户可以选择在磁盘上存储密码,这样他们每次使用软件时都不需要输入密码.可以存储的密码的一个示例是用于在其网络的代理服务器上进行认证的密码.
Stack Overflow上有一些相关的问题,最合适的解决方案就像使用像DPAPI这样的操作系统服务.
基本前提是否正确,只要软件可以在没有任何用户输入的情况下检索密码,并且源代码是开源的,那么密码总是可以由(在技术上和故意倾斜的)路人可以检索到?
我有一个应用程序,其中有一个主要的背景形式,从那里用户只能维护系统的不同部分的非模态形式.非模态窗体会覆盖CreateParams方法,因此每个窗体都会在启动任务栏中显示一个按钮:
procedure TfmMaterialsPlanning.CreateParams(var Params: TCreateParams);
begin
inherited;
//create a new window on the task bar when this form is created
Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
end;
Run Code Online (Sandbox Code Playgroud)
实际上,用户可以打开一个维护"苹果"的非模态表单,另一个维持"橙子"的非模态表单,并使用开始菜单栏轻松切换两者.
但是,如果他们从"苹果"表单中打开一个模态表单,例如设置选项,首选项等,那么在关闭模态表单之前,他们不能使用"橙子"表单.
是否有可能只为父表单创建一个模态表单模态?因此,如果他们打开Apple的选项表格,他们不能使用苹果维护表格,但仍然可以使用Oranges维护表格?
asp.net ×2
c# ×2
windows ×2
.net ×1
app-config ×1
clojure ×1
delphi ×1
encryption ×1
file ×1
forms ×1
ide ×1
idisposable ×1
indexing ×1
key ×1
linux ×1
modal-dialog ×1
mono ×1
mysql ×1
passwords ×1
ruby ×1
security ×1
singleton ×1
sql-server ×1
svn ×1
unique ×1