问题列表 - 第2621页

C#最佳实践:集中事件控制器与否

我有一个应用程序,它由几个不同的程序集组成,其中一个程序集包含类所遵循的各种接口,以及类通过程序集边界进行通信.有几个类触发事件,有几个对这些事件感兴趣.

我的问题如下:实现某种中央EventConsolidator是一种好的做法吗?这将是高度耦合的,因为它需要知道抛出事件的每个类(或至少是接口),并且事件的每个消费者都需要具有对EventConsolidator的引用才能订阅.

目前我的情况是A级知道B级(但不是C级),B级知道C级等等.然后,如果C触发事件B需要将其拾起并触发自己的事件以便A响应.这些类型的链可能会变得很长,并且B可能只对事件感兴趣才能传递它.我不希望A知道C,因为这会破坏封装.

在这种情况下,有什么好的做法?集中事件,或者咧嘴笑,并在每个中间阶段定义事件?或者做出决定的标准是什么?谢谢!

编辑:是另一个问题基本上是同一件事.

c# architecture events

6
推荐指数
2
解决办法
4785
查看次数

将字符串转换为有效的文件名?

我有一个字符串,我想用作文件名,所以我想删除文件名中不允许使用Python的所有字符.

我宁愿比其他方面更严格,所以让我说我只想保留字母,数字和一小部分其他字符"_-.() ".什么是最优雅的解决方案?

文件名需要在多个操作系统(Windows,Linux和Mac OS)上有效 - 它是我的库中的MP3文件,歌曲标题为文件名,并在3台机器之间共享和备份.

python filenames sanitize slug

269
推荐指数
19
解决办法
15万
查看次数

ASP.NET安全性最佳实践

其他ASP.NET安全最佳实践是什么?

到目前为止已确定列于此处:

  • 在将应用程序移至生产环境时,始终生成新的加密密钥和管理员密码.

  • 切勿直接或以加密形式存储密码.始终存储单向散列密码.

  • 始终将连接字符串存储在Web.config的标记中,并使用受保护的配置提供程序(RSA或DPAPI)在配置部分中对其进行加密.见这里的例子

  • 使用具有最小权限的用户ID连接到SQL Server或您正在使用的数据库.例如,如果您只是从某个应用程序模块执行存储过程,那么您必须创建一个只具有执行权限的用户ID.

  • 如果要在页面上使用基于角色的安全性,请使用PrincipalPermission.

    [PrincipalPermission(SecurityAction.Demand, Role="Admin")]  
    public class AdminOnlyPage : BasePageClass  
    {  
      // ...  
    }
  • 始终使用参数来防止SQL查询中的SQL 注入.

    1. 考虑在IIS服务器上安装URLScan以防止SQL注入.另外,用于防止XSS攻击.您可以使用MSFT的AntiXSS库而不是内置编码输出,而不是HttpServerUtility中的内置HtmlEncode.
  • 始终在Web配置中保留customErrors,以使您将错误/异常设为私有

    <customErrors mode ="On"defaultRedirect ="MyErrorPage.htm"/>

  • 在Web应用程序中,始终验证用户对html标记或任何脚本的输入.

  • 切勿存储敏感信息,例如cookie中的密码.

  • 如果发生异常,请勿显示系统错误消息,堆栈跟踪等.

asp.net security

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

Windows上的C编译器之间有什么实际区别?

用Visual C/C++ 2005/2008编写的程序可能无法使用其他编译器(如GNU C/C++)编译,反之亦然.例如,当尝试重用使用windows.h的代码时,为另一个特定的编译器编写代码时,需要注意哪些差异?

是否有任何关于如何生成与一个编译器或另一个编译器兼容的代码的信息,例如GC/C++或MSVC/C++?这会导致什么问题?

那么其他编译器呢,比如LCC和Digital Mars?

c c++ winapi cross-platform

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

我应该使用什么Java FTP客户端库?

因为我的上一个问题没有得到任何肯定答案.我将尝试自己编写一个Java FTP上传小程序.

我的问题是:"你能推荐一个Java FTP客户端库供我使用吗?"

我希望它是:

  • 稳定
  • 能够处理被动和主动模式
  • 能够提供上传进度信息
  • 如果出现问题,则抛出可捕获的异常(特别是当上传不成功时)
  • 便宜/免费使用,最好是开源

我发现这个 概述了一些库,但由于这篇文章是从2003年,也许一些新的事态发展已经发生了:)

java ftp client

91
推荐指数
4
解决办法
10万
查看次数

如何在PYTHONPATH中添加带冒号的目录?

问题很简单:

使用bash,我想在PYTHONPATH中添加一个目录,以便于脚本执行.不幸的是,我想要使用的目录中有一个:在其中.所以我尝试以下各项

export PYTHONPATH=${PYTHONPATH}:/home/shane/mywebsite.com:3344/
export PYTHONPATH=${PYTHONPATH}:/home/shane/mywebsite.com\:3344/
export PYTHONPATH=${PYTHONPATH}:"/home/shane/mywebsite.com:3344/"
Run Code Online (Sandbox Code Playgroud)

这些都不起作用.每次,路径都在python的路径上创建为两个单独的目录.我的问题是,是否有可能为bash做这个?如果是这样,需要什么语法?

python bash shell

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

键盘快捷键可以远离全屏远程桌面会话

全屏使用远程桌面,移动到另一个应用程序的最短途径是什么?(当然,不使用鼠标.我讨厌老鼠).

我目前使用以下之一:

ctrl- alt- del,alt- t(到本地机器的taskmgr),alt- tab(移动到所需的应用程序),或: ctrl- alt- pause(将远程桌面切换到窗口),alt- tab.

有更短的方式吗?

windows remote-desktop keyboard-shortcuts

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

C#和Java有什么主要区别?

我只想澄清一件事.这不是一个更好的问题,我要留给其他人讨论.我不在乎.在我的求职面试中,我被问到这个问题,我认为学习更多内容可能会有所帮助.

这些是我能想到的:

  • Java是"独立于平台的".那么现在你可以说有Mono项目,所以C#也可以考虑,但我相信它有点夸张.为什么?那么,当Java的新版本完成时,它同时可以在它支持的所有平台上使用,另一方面,Mono实现中仍然缺少多少C#3.0功能?或者我们应该在这里比较真正的CLRJRE吗?
  • Java不支持事件和委托.我所知道的.
  • 在Java中,所有方法都是虚拟的
  • 开发工具:我相信还没有像Visual Studio这样的工具.特别是如果你使用团队版本,你就会知道我的意思.

请添加您认为相关的其他人.

更新:刚刚弹出我的想法,Java没有像类,方法等的自定义属性那样的东西.或者它呢?

.net c# java clr

209
推荐指数
6
解决办法
18万
查看次数

在c#中更改日期时间时收到通知

最近我试图制作一个日历应用程序,它将向用户显示当前的年月日期.问题是,如果用户要在第二天保持我的应用程序运行,我该如何得到通知?我该如何更改显示的日期?我不想轮询当前日期来更新它.这在c#中是否可行.

注意:我尝试了SystemEvent.TimeChanged事件,但只有当用户从控制面板手动更改时间/日期时,它才有效.

c# events datetime systemevent

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

如何实现可取消的事件?

在System.ComponentModel中,有一个名为CancelEventArgs的类,其中包含可在事件侦听器中设置的Cancel成员.MSDN上的文档解释了如何使用它来从侦听器中取消事件,但是如何使用它来实现我自己的可取消事件?有没有办法在每个侦听器触发后检查Cancel成员,或者我必须等到事件触发所有侦听器之后?

c# events

9
推荐指数
1
解决办法
6419
查看次数