小编dr.*_*vil的帖子

从同一个类,通过访问器或直接访问属性的最佳方法是什么?

这是我不太一致的事情,并且总是对别人的行为感到好奇.

您如何访问内部属性(私有或公共)?

例如,你有这个属性:

Private _Name As String

Public Property Name() As String
    Get
        Return _Name
    End Get
    Set(ByVal value As String)
        _Name = value
    End Set
End Property
Run Code Online (Sandbox Code Playgroud)

在另一个函数中的同一个类中,您更喜欢哪一个?为什么?

_Name = "Johnny"
Run Code Online (Sandbox Code Playgroud)

要么

Name = "Johnny"
Run Code Online (Sandbox Code Playgroud)

忽略我使用Name而不是Me.Name的事实.

.net oop properties class accessor

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

如何在Webbrowser控件中执行跨域请求?

如您所知,在Internet Explorer下出于安全原因,不允许进行跨域XMLHTTP请求.

我有一个WebBrowser控件,我正在使用DocumentText而不是NavigateURL.由于当前域是about:blank当页面尝试向自己或其他域发出请求时,我收到Access is deniedJavascript错误.

即使我使用NavigateJavascript向另一个域发出请求它也不起作用.

我怎么能绕过这个?

此HTML代码应与WebBrowser控件一起使用:

<body>

<a href="javascript:getit('http://www.google.com')">this should work</a>
<div id="x"></div>

</body>

<script>
function XHConn()
{
  var xmlhttp, bComplete = false;
  try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
  catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
  catch (e) { try { xmlhttp = new XMLHttpRequest(); }
  catch (e) { xmlhttp = false; }}}
  if (!xmlhttp) return null;
  this.connect = function(sURL, sMethod, sVars, fnDone)
  { …
Run Code Online (Sandbox Code Playgroud)

.net xmlhttprequest cross-domain webbrowser-control

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

Resharper是否支持RowTest?

Resharper不承认Rowtests,这是正常的吗?无论如何要解决它吗?(除了手动拆分rowtest)

resharper unit-testing rowtest

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

用于.NET的HTML解析库

我正在寻找解析HTML的库来提取链接,表单,标签等.

LGPL或任何其他商业开发友好许可证是优选的.

你有过这个图书馆的经验吗?或者你能推荐另一个类似的图书馆?

.net html parsing dom

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

静态属性和锁定用法

这段代码是正确的还是有任何随机线程死锁的可能性等?

使用静态属性并锁定在一起是一个好主意吗?或者是静态属性线程安全吗?

Private Shared _CompiledRegExes As List(Of Regex)
Private Shared Regexes() As String = {"test1.Regex", "test2.Regex"}
Private Shared RegExSetupLock As New Object

Private Shared ReadOnly Property CompiledRegExes() As List(Of Regex)
    Get
        If _CompiledRegExes Is Nothing Then
        SyncLock RegExSetupLock

            If _CompiledRegExes Is Nothing Then
                _CompiledRegExes = New List(Of Regex)(Regexes.Length - 1)

                For Each exp As String In Parser.Regexes
                    _CompiledRegExes.Add(New Regex(exp, RegexOptions.Compiled Or RegexOptions.CultureInvariant Or RegexOptions.IgnoreCase))
                Next

            End If

        End SyncLock

    End If

    Return _CompiledRegExes

End Get
End Property
Run Code Online (Sandbox Code Playgroud)

如果不明显代码正在编译正则表达式并存储在List(Of Regex)中,那么它们可以更快地运行.并且它是共享的,因此每个类的实例都可以从中获益.

.net vb.net performance multithreading locking

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

比MS Access 2007快速便携式数据库建议更快?

我正在使用MS Access 2007在我的应用程序中插入和读取数据,但它确实很慢.

我有一个长期运行的应用程序,如果我从内存运行它需要大约5分钟,使用MS Access 2007大约需要13分钟!

我正在寻找一个更快但可移植的数据库选项,我正在使用.NET.我不是在寻找高级关系数据库的东西,只要它像一个像样的数据库一样,它对我来说已经足够了.

编辑:

我主要是从多个线程进行并发插入.

结果

我已经尝试过SQL Server Compact Edition 3.5 SP1,它与从内存运行几乎相同所以比访问+快400倍,而不是72MB的依赖,我有1.5MB的依赖,这很棒.

PS数据库规范化,清理,压缩,我正在使用stored_procedures和本机客户端.所以我已经尝试了很多东西让它变得更快.

.net database performance ms-access

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

如何重构紧密耦合的类?

我正在尝试重构一个紧密耦合的大型应用程序,并试图使其更易于维护和灵活.

我有很多单元测试,所以我希望一步一步地进行重构.

我应该考虑实施/应用哪些设计和重构模式来完成这项任务?

我能想到一些:

也可以随意分享您自己的经验和这种重构工作的最佳实践.

UPDATE

由于这个问题中解释的原因,我正在进行这种重构.基本上我不能在不提取几个接口的情况下实现插件系统,并且这些接口是高度耦合的,这需要将40多个DLL中的应用程序分开,以便在没有循环引用问题的情况下进行编译.

.net refactoring design-patterns coupling

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

字典键中是否有字符限制?

在.NET中我可以使用任何字符串作为字典键吗?这是模板引擎的一部分,我计划允许用户添加自定义标头和值.

标题将类似于"X值"或"分析和XYZ报告摘要",我担心如果他们会在罕见的角色或类似的东西中获得异常.

我假设有大小限制,但期望它大于256个字符.MSDN没有关于这个问题的任何细节.

.net c# dictionary key key-value

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

检测文件是二进制还是纯文本?

如何检测文件是二进制还是纯文本?

基本上我的.NET应用程序正在处理批处理文件和提取数据但是我不想处理二进制文件.

作为一种解决方案,我正在考虑分析文件的前X个字节,如果有比可打印字符更多的不可打印字符,那么它应该是二进制的.

这是正确的方法吗?这项任务有更好的实施吗?

.net format binary file

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

Fiddler是否在每台计算机上唯一地创建私有根证书?

使用Fiddler时,它会要求安装根证书,该证书会自动解密SSL通信。但是它也告知用户,除非是测试系统,否则不应安装它。

我的理解是,由于Fiddler在每台计算机上使用相同的私钥,因此攻击者可以获取此私钥并执行真正的MITM,而用户不知道,因为计算机信任Fiddler的根。

但是,Fiddler网站上的这一行与我的共享私钥理论相矛盾:

如果客户端计算机本身以前曾以HTTPS解密模式运行Fiddler,则所有尝试访问由另一台计算机的Fiddler版本保护的HTTPS页面的尝试都会失败,并出现未指定的证书问题。若要解决此问题,请删除客户端证书存储中的Fiddler根证书。(不匹配的根证书会导致此问题,因为每个Fiddler实例都会生成自己的唯一根)。

我的问题是;为什么Fiddler不按机器创建私钥,这样才安全。如果Fiddler已经在执行此操作,为什么要告诉用户不要安装它,除非它是一个测试系统?

为了清楚起见,我正在谈论此警告: 在此处输入图片说明

security debugging proxy http fiddler

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