小编And*_*kin的帖子

jQuery:找到不是兄弟的下一个元素

假设我有以下HTML:

<span>
    <span id="x1" class="x">X1</span>
</span>
<span>
    <span>
        <span id="x2" class="x">X2</span>
    </span>
</span>
Run Code Online (Sandbox Code Playgroud)

而且$(this)<span id="x1" ...>.

找到.x与jQuery 匹配的下一个元素的最佳方法是什么?
实际文档的结构是不可预测的,因此提供的HTML只是一个示例.

我不能使用nextAll,因为它只找到兄弟姐妹.
如果我这样做$('.x'),它会找到所有,但我必须迭代/比较.
有更好的解决方案吗?

另见:http://jsfiddle.net/JZ9VW/1/.

javascript jquery

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

在IIS中,existingResponse ="PassThrough"是什么意思?

文件说

existingResponse="PassThrough"

如果存在现有响应,则保持响应不变. http://www.iis.net/configreference/system.webserver/httperrors#005

但是,"现有的反应是否存在"意味着什么呢?

例如,我希望我的customErrors处理程序抑制ASP.NET响应,以便IIS认为响应不存在.我该怎么办?

asp.net iis web-config

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

Task.Factory.StartNew vs Async方法

可能是一个微不足道的问题,但它可能有助于我的基本理解.

以下两个实现之间是否有任何重要区别?

  1. Task.Factory.StartNew:

    public Task<string> ReadAllTextAsync(string path) {
        return Task.Factory.StartNew(() => File.ReadAllText(path));
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 异步方法StreamReader:

    public async Task<string> ReadAllTextAsync(string path) {
        using (var stream = File.OpenRead(path))
        using (var reader = new StreamReader(stream)) {
            return await reader.ReadToEndAsync();
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

c# task-parallel-library async-await

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

如何从包中设置"中断所有异常"

我想做一个扩展,以快速切换调试器中的CLR异常.
我尝试了几种方法,但都不令人满意.

这是我已经尝试过的:

  1. ExceptionSettings.SetBreakWhenThrown(MSDN)
    这非常慢(请参阅此Connect问题).我已经尝试了在抛出异常时问题" Toggle"Break的方法."使用宏或键盘快捷方式 "并且似乎都不可靠地工作:在大多数情况下只有顶级复选框被设置,并且在调试时它实际上不会中断异常.

  2. 调用DTE.ExecuteCommand("Debug.Exceptions")显示窗口,然后在它之前调用SetWindowsHookEx(MSDN)在它出现之前拦截它(这样用户就没有闪光).这似乎是可能的,因为我能够拦截消息并得到HWND.但它似乎很hacky并且窗口不是那么容易操作(它有一些奇怪的组合SysListView32与自定义复选框和SysTreeView32).所以我将它作为最后的机会解决方案.

  3. 以某种方式获取IDebugEngine2(MSDN)托管代码并在调试会话开始时调用IDebugEngine2.SetException(MSDN).这似乎是可能的,但我在获取调试引擎时遇到问题.我尝试过在MSDN论坛IVsLoader描述的方法,但我很确定它给了我一个与调试会话无关的新实例.

    我在这里也问过这个问题:" Visual Studio:如何从VS包中获取IDebugEngine2(除了IVsLoader) ",但没有得到解决方案.

    我已经尝试使用IVsDebugger.AdviseDebugEventCallback(MSDN),并通过实施的IDebugEventCallback2(MSDN),但我总是得到nullpEngine(没有IDebugEngineCreateEvent2任何).

    我得到IDebugSessionCreateEvent2(没有文档?)并且可以从中得到IDebugSession2它,但是它的SetException调用总是给我一个HRESULT错误的参数,所以我可能会在这里遗漏一些东西(调用SetException引擎从IVsLoader给出好的,只是不起作用).

是否有其他方法比那些方法更好或者我错过了现有的方法?


更新/注意:
如果你发现这个问题,因为你想要一个更快的"打破所有异常",我已经做了一个免费扩展,你可以从Visual Studio Gallery:Exception Breaker.

.net visual-studio-2010 visual-studio visual-studio-debugging visual-studio-extensions

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

DDD:主键(Ids)和ORM(例如,NHibernate)

为什么在域实体中有一个Id字段被认为是可以的?我已经看到几个解决方案,它们提供基于Id和Id的GetHashCode/Equals的基类.

我对域模型的理解是它应该只包含与域相关的东西.虽然在极少数情况下(可跟踪订单)ID是有意义的,但大多数情况下它们除了在DB/UI上引用对象的简单方法之外不提供任何其他内容.

我也没有看到Equals/GetHashCode的好处,因为Identity Map实现应该保证引用相等性无论如何都是 id相等.

奇怪的是,我不能轻易找到其他人对这个问题的看法,所以我在这里问.在域实体中使用非域相关ID的一般意见是什么?如果我不向我的域实体添加ID,那么NHibernate有任何问题吗?

更新:

谢谢你的回答.

其中一些建议使用Id是ORM进行数据库更新的唯一方法.我不认为是这种情况.ORM已经跟踪从DB加载的所有实体,因此它应该能够在需要时从内部轻松获取Id.

更新2:

回答正义和类似的观点: 如果我们有一个Web应用程序并且需要一种在会话之间引用实体的方法怎么办?喜欢edit/resource/id?

好吧,我认为这是受约束的UI /环境的特定需求,而不是域模型的需要.使用GetIdentitity方法(与Load(身份)方法一致)的应用程序服务或存储库似乎足以满足此方案.

architecture nhibernate domain-driven-design

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

C#中的Monads - 为什么Bind实现需要传递函数来返回monad?

我在C#中看到的monad的大多数例子都是这样编写的:

public static Identity<B> Bind<A, B>(this Identity<A> a, Func<A, Identity<B>> func) {
    return func(a.Value);
}
Run Code Online (Sandbox Code Playgroud)

例如,请参阅http://mikehadlow.blogspot.com/2011/01/monads-in-c-3-creating-our-first-monad.html.

问题是,要求func退货的重点是Identity<B>什么?如果我使用以下定义:

public interface IValue<A> {
    public IValue<B> Bind<B>(Func<A, B> func)
}
Run Code Online (Sandbox Code Playgroud)

那么我可以实际使用的同funcLazy<T>,Task<T>,Maybe<T>等没有实际根据实际类型实现IValue.

我在这里缺少什么重要的东西?

c# monads

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

Home键在Visual Studio中开始行?

Visual Studio中的选项在哪里使Home键转到行的开头?

现在你必须这样做

Home,Home

要么

Home,Ctrl+Left Arrow

我宁愿回到家的起点.我以前看过它,但现在我找不到它.

navigation key visual-studio

15
推荐指数
2
解决办法
4825
查看次数

Android:WebView/BaseInputConnection中的Backspace

Android(4.2)中的软键盘退格有问题.

我在WebView(CodeMirror)中有一个自定义编辑器,它在<textarea>内部使用空.似乎退格不是由Android系统发送的,除非它认为有一些文本<textarea>.

WebView onCreateInputConnection试图勉强降低软输入:

@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
    Log.d("CustomWebView", "onCreateInputConnection(...)");
    BaseInputConnection connection = new BaseInputConnection(this, false);
    outAttrs.inputType = InputType.TYPE_NULL;
    outAttrs.imeOptions = EditorInfo.IME_ACTION_NONE;
    outAttrs.initialSelStart = -1;
    outAttrs.initialSelEnd = -1;

    return connection;
}
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用,甚至onKeyUp不需要退格.

如何强制软键盘始终发送退格?

android android-input-method android-4.2-jelly-bean

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

ASP.NET MVC:获取所有控制器

是否可以将所有控制器都用于ControllerFactory?
我想要做的是获取应用程序中所有控制器类型的列表,但是以一致的方式.

因此,我得到的所有控制器都是默认的请求解决方案正在使用.

(实际任务是查找具有给定属性的所有操作方法).

asp.net-mvc controllers

14
推荐指数
2
解决办法
7740
查看次数

.NET 4.5 CustomReflectionContext:它有用吗?

.NET Framework 4.5开发人员预览版的新增内容

能够自定义反射上下文以通过CustomReflectionContext类覆盖默认反射行为.

这是什么目的ReflectionContext?MSDN在这个问题上并不十分清楚.

.net reflection base-class-library .net-4.5

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