在.Net中,我想枚举所有AppDomains上的所有已加载程序集.为我的程序的AppDomain做这件事很容易AppDomain.CurrentDomain.GetAssemblies().我是否需要以某种方式访问每个AppDomain?或者是否已有一个工具可以做到这一点?
在尝试拨打电话号码之前,我需要确定电话号码是否有效.电话可以去世界任何地方.
正则表达式将匹配有效的国际电话号码?
我来自ac #background,其中所有内容都有自己的命名空间,但这种做法在c ++世界中似乎并不常见.我应该将代码包装在自己的命名空间,未命名的命名空间或没有命名空间吗?
我正在使用erlang,mnesia和webmachine构建一个网站.我读过的大多数文档都赞扬了具有引用透明功能的优点.
问题是,所有数据库访问都是外部状态.这意味着任何命中数据库的方法都不再是引用透明的.
假设我在数据库中有一个用户对象和一些处理身份验证的函数.
参考不透明的函数可能看起来像:
handle_web_request(http_info) ->
is_authorized_user(http_info.userid),
...
%referentially opaque
is_authorized_user(userid) ->
User = get_user_from_db(userid),
User.is_authorized.
%referentially opaque
lots_of_other_functions(that_are_similar) ->
db_access(),
foo.
Run Code Online (Sandbox Code Playgroud)
引用透明度要求我最小化引用不透明代码的数量,因此调用者必须从数据库中获取对象并将其作为参数传递给函数:
handle_web_request(http_info) ->
User = get_user(http_info.userid),
is_authorized_user(User),
...
%referentially opaque
get_user(userid) ->
get_user_from_db(userid).
%referentially transparent
is_authorized(userobj) ->
userobj.is_authorized.
%referentially transparent
lots_of_other_functions(that_are_similar) ->
foo.
Run Code Online (Sandbox Code Playgroud)
上面的代码显然不是生产代码 - 它纯粹是出于说明目的而编写的.
我不想陷入教条.引用透明代码(如可证明的单元测试)的好处是否证明了不太友好的接口?我应该在追求传教的过程中走多远?
问题陈述:实现一个插件系统,允许覆盖关联的程序集(避免文件锁定).在.Net中,可能无法卸载特定程序集,只能卸载整个AppDomain.
我发布这个是因为当我试图解决问题时,每个解决方案都参考了使用多个AppDomain.即使在项目开始时进行架构,多个AppDomain也很难正确实现.
此外,AppDomains对我不起作用,因为我需要跨域传输Type作为Speech Server worfklow的InvokeWorkflow活动的设置.不幸的是,跨域发送类型会导致程序集注入本地AppDomain.
此外,这与IIS相关.IIS具有卷影复制设置,允许执行程序集在加载到内存时被覆盖.问题是(至少在XP下,没有在生产2003服务器上测试)当您以编程方式加载程序集时,卷影副本不起作用(因为您正在加载DLL,而不是IIS).
当我签入代码时,我有时会写很长很详细的签到笔记,有时我会写很短的(或根本没有注释).较长的注释往往包括有关更改原因的信息(业务原因,客户交互等).但是,我不确定办理登记手续是否适合这些细节.我见过的大多数签到笔记往往很简短,只是引用了一个bug.
办理登记手续的详细程度如何?