小编Are*_*ren的帖子

HTML双击选择奇数

我没有在DocType上发布这个,因为它不是真的design,视觉表现不是我的问题,行为是.如果这是错位的,我很抱歉,但我觉得这不是设计师的问题.

以下DOM:

<ul style="overflow: hidden;">
   <li style="float: left;"><strong>SKU:</strong>123123</li>
   <li style="float: left;"><strong>ILC:</strong>asdasdasdasd</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

要么

<div style="overflow: hidden;">
   <div style="float: left; width: 49%"><strong>SKU:</strong>123123</div>
   <div style="margin-left: 50%; width: auto;"><strong>ILC:</strong>asdasdasdasd</div>
</div>
Run Code Online (Sandbox Code Playgroud)

要么

<p>
   <span><strong>SKU:</strong>123123</span>
   <span><strong>ILC:</strong>asdasdasdasd</span>
</p>
Run Code Online (Sandbox Code Playgroud)

所有人都给我一个奇怪的问题

  • IE 6
  • IE 7
  • Firefox 3.x

但不是

  • IE 8

当您在'SKU:'之后双击 '123123'时,它会从下一个dom元素中选择'123123'和'ILC:'.

拿这个页面上的任何文字(这里是SO),双击一个单词,它只选择那个词,即使在一个段落的中间.这些例子有dom元素关闭它们,任何人都知道为什么会发生这种情况.

我的同事使用"双击"机制来选择相关的产品ID来完成他们的工作,这对我来说没有任何意义.

html dom double-click

9
推荐指数
2
解决办法
2832
查看次数

Windows窗体应用程序在夜间运行时随机冻结

我有一个窗口表单应用程序,它有多个运行的线程,将在主UI线程上调用以更新UI.有时在开发机器上,应用程序主UI线程将停止运行,应用程序不再响应.如果我让应用程序一夜之间运行似乎就会发生.但是,我有用户通过远程桌面运行此窗口表单应用程序,如果应用程序在没有用户交互的情况下一夜之间运行,则会出现此问题.

我发现一篇文章似乎在描述这个问题,但我没有足够的Windows开发知识来弄清楚应用程序冻结的原因.

我得到的唯一信息是以下堆栈跟踪,表明主UI线程正在等待某种操作.

这个问题一直困扰着我很长一段时间.我将不胜感激任何建议或意见.

谢谢!

Main UI thread stack trace:

mscorlib.dll!System.Threading.WaitHandle.WaitOne(long timeout, bool exitContext) + 0x2f bytes
mscorlib.dll!System.Threading.WaitHandle.WaitOne(int millisecondsTimeout, bool exitContext) + 0x25 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.WaitForWaitHandle(System.Threading.WaitHandle waitHandle = {System.Threading.ManualResetEvent}) Line 4268 C#
System.Windows.Forms.dll!System.Windows.Forms.Control.MarshaledInvoke(System.Windows.Forms.Control caller, System.Delegate method, object[] args, bool synchronous) Line 7614 C#
System.Windows.Forms.dll!System.Windows.Forms.Control.Invoke(System.Delegate method, object[] args) Line 7178 + 0x11 bytes C#
System.Windows.Forms.dll!System.Windows.Forms.WindowsFormsSynchronizationContext.Send(System.Threading.SendOrPostCallback d, object state) Line 89 C#
System.dll!Microsoft.Win32.SystemEvents.SystemEventInvokeInfo.Invoke(bool checkFinalization = true, object[] args = {object[2]}) + 0x62 bytes
System.dll!Microsoft.Win32.SystemEvents.RaiseEvent(bool checkFinalization = true, object key = {object}, …

c# windows winforms

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

Visual Studio忽略MSBuild文件(csproj)自定义

注意:Visual Studio 2010 SP1/MSBuild 4.0

我对这个bug感到疯狂,我无法理解为什么Visual Studio会以这种方式运行.我正在.targets为特定解决方案中的项目编写自定义文件.我编辑了.csproj文件:

<Include Project="..\MyTargets.targets" />
Run Code Online (Sandbox Code Playgroud)

Microsoft.CSharp.targets文件底部附近.我们的想法是,这个目标文件将通过修改_____DependsOn属性来注入要执行的操作,就像PostSharp集成自身一样.

在我的目标无法运行之后,我决定在MSBuild的命令行中运行它并看到格式良好的颜色输出.

在命令行中,我的目标运行.从visual studio(甚至使用clean/rebuild),我的目标不会运行.

我已经迷上BuildDependsOn了这样的目标:

<PropertyGroup>
  <BuildDependsOn>
    MyTargetGoesHere;
    $(BuildDependsOn)
  </BuildDependsOn>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

我的第一个想法是我的文件错误了.我验证了文件,这是正确的.然后我查看它是否陈旧.让visual studio进行一些更改,保存,运行.Visual Studio的新变化生效,仍然没有运行我的目标.

所以我在这里绝望了.我在目标文件中放了一个BLARING SYNTAX ERROR.MSBuild爆炸,Visual Studio成功编译项目.

  • 我究竟做错了什么?
  • Visual Studio不使用MSBuild文件吗?
  • 它是否称为超级秘密目标而不是"构建" Microsoft.Common.targets
  • 为什么msbuild会以单向和另一种方式工作,我认为它们的设计是为了协同工作......

.net msbuild visual-studio

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

Mercurial随机添加60+合并

我最奇怪的事情发生在我的善变资源库中,我真的很担心它的完整性.

背景

我一直在间歇性地提交/推送没有问题,直到现在单个提交/推送组合产生了警告,我将把新分支推到远程位置.我掀开了TortoiseHg,看看我的回购树中究竟发生了什么事情.(也许我不小心承诺了tip:-1.

打开龟龟之后,我得到了这样的信息:

合并中心http://img199.imageshack.us/img199/2557/mercurialproblem01.png

当然我对此感到震惊,请注意这些合并的日期是从几周和几个月前发生的.我一直追踪到源头的线条,发现它们源于我历史上发生合并的地方(以及其他几个点).

起源http://img714.imageshack.us/img714/4575/mercurialproblem02.png

问题

  • 可能是什么导致了这个?
  • 是否有一些hg命令/功能故意这样做或者我最有可能看到一个bug?
  • 有没有一种简单的方法可以解决这个问题而无需从远程主机重新克隆我的repo?

我真的对这个人措手不及.我最明显的是今天没有进行60多次合并,我很困惑.

额外的信息

TortoiseHG:2.0.5(Merc 1.8.4)操作系统:Windows7

version-control merge mercurial tortoisehg

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

一次性用品,使用和尝试/捕捉块

今天有一个心理障碍,需要一只手验证我的逻辑并不是很好的.

传统上我会做类似这样的文件i/o:

FileStream fs = null; // So it's visible in the finally block
try
{
   fs = File.Open("Foo.txt", FileMode.Open);

   /// Do Stuff
}
catch(IOException)
{
   /// Handle Stuff
}
finally
{
   if (fs != null)
      fs.Close();
}
Run Code Online (Sandbox Code Playgroud)

但是,这不是很优雅.

理想情况下using,当我完成时,我想使用块来处理文件流,但我不确定using和try/catch之间的协同作用.

这就是我想要实现上述内容的方式:

try
{
   using(FileStream fs = File.Open("Foo.txt", FileMode.Open))
   {
      /// Do Stuff
   }
}
catch(Exception)
{
   /// Handle Stuff
}
Run Code Online (Sandbox Code Playgroud)

但是,我担心使用块中的过早退出(通过抛出异常)可能不允许使用块完成执行并清理它的对象.我只是偏执狂,还是会按照我打算的方式运作?

.net c# using-statement

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

在Linux上使用.NET/Mono来提供高容量的Web服务,这是一个好主意吗?

我们有一个网络服务,可以提供相当高的流量,帮助您根据收到的电子邮件找出您首选的联系人.

此服务最初在C#/.NET中实现,以便利用我们已经在Windows主机上运行的一些代码.此服务不使用ASP.NET,但它是使用.NET的基本HTTP侦听器的简单C#服务.

该服务执行正常,但偶尔MONO将完全阻止并停止响应任何请求.性能还可以,但不是很好,我们花了很多时间来确定MONO CLR和Windows CLR之间的区别.我必须承认,我来自Java背景,似乎服务器端的生态系统在Java方面比Linux上的MONO生态系统更大.

所以现在,我正在寻找关于在Linux上使用Mono来为高流量Web服务提供服务的示例和个人经验.

c# linux mono

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

NHibernate 3,动态组件,词典和LINQ查询

我有这个实体,上面有一个<dynamic-component>条目和许多属性.它被作为一个实体类消费 IDictionary.

映射工作正常,一切都很糟糕,直到我根据这个字典中的值进行查询.

首先,我尝试了以下linq查询:

repository.Where(x => x.Specifications[key] == value) 
Run Code Online (Sandbox Code Playgroud)

要查询它.(规格是动态组件)查询导致以下错误:

未处理的异常:System.InvalidCastException:无法将类型为'NHibernate.Type.ComponentType'的对象强制转换为'NHibernate.Type.CollectionType'.

确定这可能超出了Linq Provider的界限,然后我继续构建一个BaseHqlGeneratorForMethod来处理它的自定义linq扩展.

它是使用treeBuilder.Dot(...)AST 构建的,如下所示:

var specificationExpression = 
  treeBuilder.Dot( 
     visitor.Visit(arguments[0]).AsExpression(), 
     treeBuilder.Ident("Specifications")).AsExpression(); 
var targetExpression = 
  treeBuilder.Dot( 
    visitor.Visit(arguments[0]).AsExpression(), 
    treeBuilder.Ident(keyExpression.Value.ToString())).AsExpression(); 
Run Code Online (Sandbox Code Playgroud)

这对于生成正确的SQL非常有用,除了表达式被缓存,因此后续调用此函数会将所有值与第一个键进行比较.

从这里我找到了treeBuilder.DictionaryItem(...)AST节点并构建了以下内容:

var specificationExpression = 
  treeBuilder.Dot( 
     visitor.Visit(arguments[0]).AsExpression(), 
     treeBuilder.Ident("Specifications")).AsExpression(); 
var specification = 
  treeBuilder.DictionaryItem(specificationExpression, key).AsExpression(); 
Run Code Online (Sandbox Code Playgroud)

我再次遇到以下错误:

未处理的异常:System.InvalidCastException:无法将类型为'NHibernate.Type.ComponentType'的对象强制转换为'NHibernate.Type.CollectionType'.


问题

我在这做错了什么?难道<dynamic-component>不能被问到吗?我是否错误地实施了这个?这可能是我应该报告的错误吗?

制图:

<dynamic-component name="Specifications"> 
  <property name="sp_Graphics" column="sp_Graphics" /> 
  <property name="sp_Weight" column="sp_Weight" /> 
</dynamic-component> 
Run Code Online (Sandbox Code Playgroud)

实体:

/// <summary> 
/// Specifications 
/// </summary> 
public virtual IDictionary Specifications { get; …
Run Code Online (Sandbox Code Playgroud)

.net c# nhibernate linq-to-nhibernate

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

CSS离开:-50%导致IE7忽略宽度

这里有一个完整的例子可以在jsFiddle上找到.我强烈建议您在这里查看,因为CSS有点大,我不想在这里粘贴它(让我的问题难以阅读).

我的网站上有一个水平居中的标签,我的想法是UL/LI项目以页面为中心,我有一个直到最近(看起来)像所有浏览器配置一样的解决方案.

这个html实际上非常简单:

<div id="tabContainer">
    <ul>
        <li style="width: 190px;"><span><a href="#">Tab One with more text</a></span></li>
        <li style="width: 190px;"><span><a href="#">Tab Two</a></span></li>
        <li style="width: 190px;"><span><a href="#">Tab Three is wide</a></span></li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)
  • 每个<li>都是一个标签,左边的圆形标签页面左边有填充.
  • 每个<span>都有正确的填充右侧圆形标签的东西.
  • 最后,<a>通常会填充剩余部分,以获得较大的点击目标.
  • 每个项目是手动与风格width: 190px这使thier宽度均匀(一个不错的视觉效果,这是由该网站的代码,以便它在定制styleVs的class.

CSS:

  • CSS使用一个简单的概念,<ul>向右移动50%,向<li>左移50%(left: -50%;)使它们始终位于主容器的中心.
  • 标签使用负边距和z-index重叠一点,这样角落就会纵横交错(在背景图像中完成,这里不重要)

问题

IE7决定它不会监听显式style="width: 190px",即使!important是添加它.但是,这似乎只left: -50%<li>项目上出现时才会发生.如果删除该样式,则选项卡会向右移动(错误的位置,但正确的固定宽度).

对我来说,这似乎是无关紧要的,因为没有任何东西left: -50%会导致物品碰撞,迫使它们达到最小宽度.

此设置正常工作,并在以下测试:

  • IE8
  • IE9
  • FF3.6 …

html css layout internet-explorer-7

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

通过.NET Web服务访问Sitecore项目

有没有人幸运使用.NET Web服务访问Sitecore项目?我的服务器上有许多仍在Coldfusion中的Web应用程序.我希望能够调用Web服务来下拉项目,但是当我尝试这样做时,我得到一个异常"Sitecore.Data.Items.Item无法序列化,因为它没有无参数构造函数."

.net web-services sitecore

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

jQuery,寻找一种更智能的初始化方法

我正在寻找一种更好的方法来管理大型项目中的全局组件/插件/窗口小部件初始化.它有许多jQuery驱动的组件,我想快速有效地初始化,在浏览互联网之后,我只是真正找到了在小型网站中只有现实/高效的短视示例.

问题

我想找到一种聪明而优雅的方法来摆脱这种情况:

$(function() { $('.widget-one').widgetOne(); });
$(function() { $('.widget-two').widgetTwo(); });
$(function() { $('.widget-three').widgetThree(); });
$(function() { $('.widget-four').widgetFour(); });
Run Code Online (Sandbox Code Playgroud)

现在,在你揍我之前,让我说我知道在大多数情况下(但不是全部).widget-one是一个糟糕的选择器,因为它会在旧版浏览器中获取dom中的所有元素并检查类.

问题是,这些小部件不是一次性的,我可能不会提前知道它们存在(在Web应用程序视图中生成,可能是基于逻辑或产品循环的2-3次).

所以以下解决方案已经出来:

$(function() { $('#WidgetOne').widgetOne(); });
Run Code Online (Sandbox Code Playgroud)

<span id="WidgetOne_12345">...</span>
<script type="javascript">
   $(function() { $('#WidgetOne_12345').widgetOne(); });
</script>
Run Code Online (Sandbox Code Playgroud)

思考

这不是一个新问题,它从第一天开始就存在.它仍然让我感到困惑,即使在这个成熟的水平上,使用jQuery也很难解决这个问题.无论是那个还是我都错过了一些明显的东西.

不幸的是,google-fu在这个问题上的表现非常糟糕,因为每个人都建议以下两点之一:

  • jQuery .live().delegate()catch-all事件处理程序.这在基本层面上是可怕的..delegate()不会那么糟糕,但这要求插件/小部件/控件/完全由事件驱动.这肯定会在很多情况下起作用,但在其他情况下则不然.它还使跟踪和组织代码非常复杂.我甚至不会进入.live(),对于大型复杂站点,事件冒泡很慢并且当你将足够的组件放在一起时,匹配的查询列表变得很大,使得每个点击/焦点/任何事件在整体上逐渐变慢整个页.
  • 涉及插件的解决方案,例如liveQuery,这是一个非常酷的插件,但它主要似乎是为了解决一个不同的问题(由ajax/dom创建引入新项目的问题),并且仍然会逐渐增加堆叠的查询越多,需要检查的查询越多.

结论

是一个更好的办法,我知道必须有一个.我已经厌倦了我的google fu这个主题,但仍然找不到比jQuery 1.3.2更新的想法/概念/例子/讨论或者考虑到宏伟的图片.在一个完美的世界中,这不会是一个问题,因为每个人都会使用具有现代标准的智能浏览器和一个不错的javascript引擎,并且.class查询不会花费很多时间,但不幸的是情况并非如此.

我正在寻找关于如何解决这个问题的想法,在经历了许多与此类似的SO问题之后,以及关于各种jquery技术的许多文章我觉得如果信息出现在那里它被埋没在许多误报和"101最好的jquery之下插件"使用jQuery在任何搜索中出现的结果.我知道那里有人遇到了这种困境.

想法,链接,例子,任何事情都是受欢迎的,只需要有更好的方法.

javascript performance jquery initialization

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