小编Jef*_*hao的帖子

Snow Leopard中内置Apache的模块文件在哪里

我是Mac OS X的新手,我将在Snow Leopard下做一些开发工作.我启用了内置apache并在文件etc/apache2/httpd.conf中找到了以下内容:

LoadModule alias_module libexec/apache2/mod_alias.so LoadModule rewrite_module libexec/apache2/mod_rewrite.so LoadModule bonjour_module libexec/apache2/mod_bonjour.so

但我在我的系统中找不到"libexec"目录,我做错了什么?

apache macos osx-snow-leopard

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

WPF应用程序在并发环境中由PropertyChangedEventManager挂起

我正在研究一个复杂的WPF应用程序,该应用程序几天就会挂起.除了GUI线程填充数据之外,还有一个线程可以将模型绑定到网格并触发INotifyPropertyChanged.PropertyChanged事件.我编写了一个脚本来将MDbg附加到挂起进程并转储线程的当前堆栈跟踪.在找到死锁原因时它会有很大帮助,但这次没有用.

正在更新模型的线程在获取时停止ReadLock:

Thread [#:8]
*0. WindowsBase.dll#0!MS.Internal.ReaderWriterLockWrapper.get_ReadLock()  (source line information unavailable)
 1. WindowsBase.dll#0!System.ComponentModel.PropertyChangedEventManager.OnPropertyChanged(sender=<...>, args=System.ComponentModel.PropertyChangedEventArgs)  (source line information unavailable)
 2. ( ... firing PropertyChanged event ... )
Run Code Online (Sandbox Code Playgroud)

GUI线程也发生了同样的事情:

Thread [#:0]
*0. WindowsBase.dll#0!MS.Internal.ReaderWriterLockWrapper.get_ReadLock()  (source line information unavailable)
 1. WindowsBase.dll#0!System.ComponentModel.PropertyChangedEventManager.OnPropertyChanged(sender=MyCompany.Windows.ViewModel.Window.WindowViewModel, args=System.ComponentModel.PropertyChangedEventArgs)  (source line information unavailable)
 2. MyCompany.Windows.Contracts.dll#0!MyCompany.Windows.ViewModel.Model.ViewModelItemBase.NotifyPropertyChanged(propertyName="IsActive")  (source line information unavailable)
 3. MyCompany.Windows.Contracts.dll#0!MyCompany.Windows.ViewModel.Window.WindowViewModel.set_IsActive(value=True)  (source line information unavailable)
 4. MyCompany.Windows.dll#0!MyCompany.Windows.ViewModel.Window.IsActiveBinding.OnWindowIsActiveChanged(sender=MyCompany.Xpf.Views.XpfRibbonShell.XpfRibbonShellView, e=System.EventArgs)  (source line information unavailable)
 5. WindowsBase.dll#0!MS.Internal.ComponentModel.PropertyChangeTracker.OnPropertyInvalidation(d=<N/A>, args=<N/A>)  (source line information unavailable)
 6. WindowsBase.dll#0!System.Windows.DependentList.InvalidateDependents(source=<N/A>, sourceArgs=<N/A>)  (source line information unavailable)
 7. WindowsBase.dll#0!System.Windows.DependencyObject.NotifyPropertyChange(args=<N/A>) …
Run Code Online (Sandbox Code Playgroud)

c# wpf multithreading propertychanged inotifypropertychanged

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

如何编写大型WinForms应用程序?

我将编写一个相当大/复杂的WinForm应用程序,如Paint.NET,SharpDevelop等.我认为构建这样一个应用程序最重要的事情之一就是正确构建项目以提高可维护性并控制复杂性.

那么我使用的是什么样的模式或实践呢?任何博客文章,论文,开源项目都受到欢迎.我正在尝试从SharpDevelop那里学到一些东西,但这对我来说相当巨大.

PS:我是一名经验丰富的程序员,以前的目标是web开发(asp.net,rails等).所以我知道一些设计原则以及如何在实现业务逻辑时使用它们.也许我现在真的需要一个开始使用WinForm应用程序的示例,以便我可以实现如何处理菜单,控件和其他.我已经学到了一些关于MVP模式的东西,但仍然不自信地启动一个大型/复杂的应用程序.

design-patterns winforms

8
推荐指数
1
解决办法
2808
查看次数

从 MongoDB shell 获取当前脚本路径

我正在客户端中为 MongoDB shell 编写 JavaScript 代码。如何获取正在执行的脚本文件的路径?请注意,这不是 的值pwd()。例如,我正在/my_scripts/utils.js执行/my_path

> mongodb --nodb /my_scripts/utils.js
Run Code Online (Sandbox Code Playgroud)

sopwd()返回,但是如何获取当前执行文件(即 )的/my_path完整路径(或 值的相对路径) ?pwd()/my_scripts/utils.js

mongodb mongodb-shell

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

Resharper:如何使用另一个属性隐式应用[NotNull]或[CanBeNull]注释?

在我们的代码中,我们有自己的注入框架来启用依赖注入,例如:

public class MyClass {
    [Component("ComponentName1")] // means [NotNull]
    public MyType NotNullComponent{ get; set; }

    [OptionalComponent("ComponentName2")] // means [CanBeNull]
    public MyType CanBeNullComponent { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我们不希望再次添加[CanBeNull][NotNull]在任何地方添加,因为它具有[Component][OptionalComponent]属性重复的语义.

是否有可能让Resharper知道自定义属性的语义来帮助进行静态分析?

c# resharper static-analysis

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

使用MongoDB C#驱动程序2.4在查询中包含/排除字段

我们有一个包含服务器中文档的集合。每个文档就像:

{ _id: "...", Prop1: "", Prop2: "", Prop3: "", LargeField: "", ... }
Run Code Online (Sandbox Code Playgroud)

还有许多其他字段,但客户不需要。

我想将文档加载为MyDoc定义如下的类:

public class MyDoc {
    public string Id { get; set; }
    public string Prop1 { get; set; }
    public string Prop2 { get; set; }
    public string Prop3 { get; set; }
    public string LargeField { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我试过了:

var client = new MongoClient(uri);
var database = client.GetDatabase("MyDatabase");
var collection = database.GetCollection<MyDocs>("MyDocs");
var allDocs = collection.Find().ToList();
Run Code Online (Sandbox Code Playgroud)

然后,它会加载所有的领域对每个文档,所以我必须把[BsonIgnoreExtraElements]MyDoc …

mongodb-.net-driver

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

How to show row number as the first column?

It's like this (but start from 1):

在此处输入图片说明

Please note the number is for the row element of grid instead of row data of the source. So the number shown in the first cell of each rows should indicate the position of the current row (which starts from 1 for the first row) regardless the row data and the sorting criteria.

Update: The result is like this: https://jsfiddle.net/wp6o350z/

<script src="https://unpkg.com/ag-grid/dist/ag-grid.min.noStyle.js"></script>
<link rel="stylesheet" href="https://unpkg.com/ag-grid/dist/styles/ag-grid.css">
<link rel="stylesheet" href="https://unpkg.com/ag-grid/dist/styles/ag-theme-balham.css">

<div id="myGrid" style="height: 200px;width:500px;" class="ag-theme-balham"></div> …
Run Code Online (Sandbox Code Playgroud)

ag-grid

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

避免每次在 ApplyTemplate() 时加载 XAML

我正在研究 WPF 网格的性能改进,并发现ApplyTemplate()对单元格的调用消耗了相当多的资源。每次我们创建一个单元格并将其应用ControlTemplate到它时,它会再次加载 XAML,尽管我认为这应该为同一个模板缓存。

分析结果

这样可以节省一次又一次加载 XMAL 的成本吗?

另外,是否可以构建一个ControlTemplate不依赖于 XAML 的,但我们可以通过编程方式设置可视化树来提高性能?

更新:

我尝试使用由代码创建的模板并完全由FrameworkElementFactory. 分析结果表明我们没有通过这种方法获得性能提升。

使用 FrameworkElementFactory 分析结果

似乎每次ApplyTemplate调用中的 XAML 解析成本都不高,但可视化树实例化花费了大部分时间。

wpf xaml controltemplate

5
推荐指数
0
解决办法
487
查看次数

Windows 错误报告有时不会为 .NET 4 应用程序生成小型转储

我正在尝试诊断 .NET 4 应用程序的崩溃问题。上次它在用户机器上崩溃时,Windows 错误报告不会收集应用程序的小型转储。我检查了DumpFolder注册表,我可以找到旧崩溃的转储文件,但最后一个没有新的转储文件。

崩溃的事件日志说:

应用程序:MyApp.exe
框架版本:v4.0.30319
描述:由于 IP 000007FEEC0F25E8 (000007FEEC0B0000) 的 .NET 运行时出现内部错误,退出代码为 80131506,该进程被终止。

通过一些搜索看起来像是 CLR x64 中并发 GC 的一个著名错误。事件日志也不同于以前的崩溃。在之前的事件日志中,他们明确表示发生了“访问冲突”。退出代码是一样的。

我无法使用adplusprocdump获取故障转储,因为它们会显着降低性能。我想知道为什么这次 WER 没有得到 mini dump?

.net clr crash-dumps windows-error-reporting

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

如何理解在C#中使用异常处理"使用"的JITed代码

我在C#中编写了一个非常简单的类:

class DisposableClass : IDisposable {
    public void Dispose() { }
}


static void UsingClass() {                    // line 31
    using (var dc = new DisposableClass()) {  // line 32
        DoSomething(dc);                      // line 33
    }                                         // line 34
}                                             // line 35
Run Code Online (Sandbox Code Playgroud)

我用WinDBG为JIT转储了本机代码:

0:000> !u 000007fe87d30120 
Normal JIT generated code
SimpleConsole.Program.UsingClass()
Begin 000007fe87d30120, size 80

c:\projects\SimpleConsole\SimpleConsole\Program.cs @ 32:
>>> 000007fe`87d30120 55              push    rbp
000007fe`87d30121 4883ec30        sub     rsp,30h
000007fe`87d30125 488d6c2420      lea     rbp,[rsp+20h]
000007fe`87d3012a 48896500        mov     qword ptr [rbp],rsp
000007fe`87d3012e 48c7450800000000 mov     qword …
Run Code Online (Sandbox Code Playgroud)

.net c# jit native exception

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

如何理解WinDBG SOS中的!dumpheap的-min/-max选项

文档说它用于限制输出对象的大小,但根据我的测试,它不是我所期望的:

0:000> !dumpheap -mt 000007fee12406a8 -max 400 -min 399
Address               MT     Size
000000000d1dc1f8 000007fee12406a8      936     
000000000d62bed8 000007fee12406a8     1016     
000000000d630d00 000007fee12406a8      984     
000000000d633aa8 000007fee12406a8      984     
000000000d65f368 000007fee12406a8      952     
000000000d685ff0 000007fee12406a8      952     
000000000d6b2150 000007fee12406a8      952    
Run Code Online (Sandbox Code Playgroud)

那么如何理解-min-max选择呢?

windbg sos

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

如何判断流已被读到最后?

我只是在编写一个简单的方法来从一般流中读取数据 - 这意味着它可能是一个FileStream或NetworkStream而不知道它的长度.我重复将流读入byte []并将数据推送到另一个流或其他任何流.我的问题是,我怎么能注意到流完成了?我试图在Read方法返回0 时返回 - 这是正确的方法吗?它似乎可以读取文件,但有时会遇到从网络读取数据的问题.

.net stream

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

如何使用WinDBG/SOS和ClrMD检查WeakReference值?

我正在调查生产中的内存泄漏问题并检索内存转储.我试图抛弃累积物体的值,我遇到了WeakReference.这是我在WinDBG中得到的:

0:000> !do 000000011a306510 
Name:        System.WeakReference
MethodTable: 000007feeb3f9230
EEClass:     000007feeadda218
Size:        24(0x18) bytes
File:        C:\Windows\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll
Fields:
              MT    Field   Offset                 Type VT     Attr            Value Name
000007feeb3f4a00  400068d        8        System.IntPtr  1 instance         343620e0 m_handle
0:000> !do 343620e0 
<Note: this object has an invalid CLASS field>
Invalid object
Run Code Online (Sandbox Code Playgroud)

我们可以发现我们不能将该m_handle值用作对象地址.我检查了代码,WeakReference它是完全extern代码.

我的问题是,我们如何使用WinDBG/SOS检查它的价值?另外,我正在为ClrMD的问题编写ad-hoc分析器,那么我应该如何检查对象的对象引用WeakReference呢?

windbg weak-references sos clrmd

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