问题列表 - 第40887页

Rx Task.Factory.StartNew在.Net 3.5问题上启动两个任务

我正在使用.Net 3.5上的Reactive Extensions库的任务部分

它大部分工作顺利,但在一个地方它调用相同的任务两次.

电话看起来像这样:

Task.Factory.StartNew(
    () => Processor.ProcessMessage(incomingMessage),
    TaskCreationOptions.PreferFairness );
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?这是一个错误吗?

----更新

我认为问题在于c#在lambdas中关闭的方式.问题不在TPL中,与普通旧线程池一起返回同样的问题.

这解决了它:

foreach (var Processor in processors)
{
 object[] crap = new object[2];
 crap[0] = Processor;
 crap[1] = incomingMessage;
 Task.Factory.StartNew(Magic, crap, TaskCreationOptions.PreferFairness);
}

public void Magic(object obj)
{
 object[] crap =(object[]) obj;
 ((IIncomingMessageProcessor)crap[0]).ProcessMessage((IncomingMessageBase)crap[1]);
}
Run Code Online (Sandbox Code Playgroud)

原始来源是:

foreach (var Processor in processors)
{
Task.Factory.StartNew(
    () => Processor.ProcessMessage(incomingMessage),
    TaskCreationOptions.PreferFairness );
}
Run Code Online (Sandbox Code Playgroud)

所以我在处理器周围关闭,我想问题是它为lambda回收相同的对象并交换处理器.

----更新2

我确信这是问题所在.我在创建任务时重构和调试了System.Threading.dll,它是使用相同的委托(Same ObjectID)创建的,并且处理器在迭代之间的Target属性中发生了变化.谁知道一个好的工作?

----更新3这也有效(感谢Judah Himango):

foreach (var processor in processors)
{
 var crap = processor;
 Task.Factory.StartNew(() => crap.ProcessMessage(incomingMessage), …
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading system.reactive

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

JPA映射中的错误 - 获取注释

我正在尝试使用票证字段作为外键来获取注释,但我收到以下错误:

Caused by: Exception [EclipseLink-6078] (Eclipse Persistence Services - 2.0.1.v20100213-r6600): org.eclipse.persistence.exceptions.QueryException
Exception Description: The class of the argument for the object comparison is incorrect.         

Expression: [
Base com.test.forum.model.Comment] 
Mapping: [org.eclipse.persistence.mappings.OneToOneMapping[ticket]] 
Argument: [751]
Run Code Online (Sandbox Code Playgroud)

这是我在javabean中使用的代码: - 隐藏引用的文本 -

  @JoinColumn(name = "ticket", referencedColumnName = "id")
  @ManyToOne(optional = false)
  private Ticket ticket;


    public List<Comment> findComment(int id) {
      Query q = em.createQuery("SELECT c FROM Comment c WHERE c.ticket = 751");
      return q.getResultList();
    }
Run Code Online (Sandbox Code Playgroud)

谢谢

java jpa eclipselink

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

jQuery中的等高列

嗨,我正在寻找基于jQuery的相等高度列.我知道有很多漂浮在身边,但我的要求有点不同.我想在Mega菜单中使用它们,其中大约有4-5个下拉列表,每个下拉列表有3-4列.

我希望所有这些3-4列具有相同的高度但不是所有的下拉列表,因为列高度在另一个下拉列表中会有所不同,具体取决于该部分的内容.

我在MooTools中找到了一个完美符合我要求的解决方案.下面的MooTools代码使得特定div中的所有列都等于其父div的高度

MooTools代码:

var Equalizer = new Class({
 initialize: function(elements) {
  this.elements = $$(elements);
 },
 equalize: function(hw) {
  if(!hw) { hw = 'height'; }
  var max = 0,
   prop = (typeof document.body.style.maxHeight != 'undefined' ? 'min-' : '') + hw; //ie6 ftl
   offset = 'offset' + hw.capitalize();
  this.elements.each(function(element,i) {
   var calc = element[offset];
   if(calc > max) { max = calc; }
  },this);
  this.elements.each(function(element,i) {
   element.setStyle(prop,max - (element[offset] - element.getStyle(hw).toInt()));
  });
  return max;
 }
});
Run Code Online (Sandbox Code Playgroud)

用法: …

jquery height

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

在Magento中创建一个新块

我昨天在Magento的主页上问了这个问题静态块,它回答了我关于将cms /块挂钩到现有块的问题(在该示例中为内容).

但现在我想知道如何创建自己的块.

我在.phtml模板中有这个:

<?php echo $this->getChildHtml('home_flash') ?>
Run Code Online (Sandbox Code Playgroud)

这在我的cms.xml文件中

<reference name="home_flash">
  <block type="cms/block" name="home-page-flash" before="content">
    <action method="setBlockId"><block_id>home-page-flash</block_id></action>
  </block>
</reference>
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

我也曾尝试创建自己的块类型,(通过复制面包屑声明)在page.xml文件:

<block type="page/html_home_block" name="home_block" as="home_block" template="page/template/home_block.phtml"/>
Run Code Online (Sandbox Code Playgroud)

该文件存在但未呈现.

但是当我像这样引用块时:

<block type="page/html_breadcrumbs" name="home_block" as="home_block" template="page/template/home_block.phtml"/>
Run Code Online (Sandbox Code Playgroud)

它使得我的家乡块模板,但原来的CMS /块不重视它.

希望所有的不同的情况表明正在发生的事情,并强调在我的知识缺口不够好,有人来回答,我必须为"注册"我的新"home_block"类型的地方?

php xml layout block magento

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

在C#中从不同的类中引发类的事件

我有一个类EventContainer.cs,它包含一个事件,比如说:

public event EventHandler AfterSearch;
Run Code Online (Sandbox Code Playgroud)

我有另一个类,EventRaiser.cs.如何从这堂课中筹集(而不是处理)上述事件?

引发的事件将依次调用EventContainer类中的事件处理程序.这样的事情(这显然不正确):

EventContainer obj = new EventContainer(); 
RaiseEvent(obj.AfterSearch);
Run Code Online (Sandbox Code Playgroud)

c# events

28
推荐指数
5
解决办法
7万
查看次数

如何在 Visual Studio 中中断程序的第一个指令

我想告诉 Visual Studio 在程序的第一条指令处中断(在main()调用函数之前)。我记得可以在 CodeWarrior IDE 中进行嵌入式开发,这在 Visual Studio 中可行吗?

debugging breakpoints visual-studio-2010

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

将内容放在iframe上?

请任何人都可以帮助我把一些东西放在iframe上像div或canvas,我的情况是我有来自Photosynth.net的iframe,我需要把这个iframe放在这个问题上?我使用z-index但仍然无法正常工作.

iframe html5 canvas

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

强制调整DataGridView列的大小

我有一个带有DataGridView元素的简单表单.在构造函数中,添加了网格列并设置了DataTable.当我然后调用AutoResizeColumns()时,它不会像通过例如按钮事件调用那样调整列的大小.代码看起来像这样(简化):

public MyDialog()
{
   InitializeComponent();
   dgv.Columns.AddRange(SomeClass.MyColumns);
   dgv.DataSource = SomeClass.Table;
   // This doesn't work:
   dgv.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
}
Run Code Online (Sandbox Code Playgroud)

AutoResizeColumns()通常可以工作但不是那时.顺便说一句,我需要这个来实现像这里请求/描述的行为.有任何想法吗?

c# winforms

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

Magento - 向sales_flat_quote_item和sales_flat_order_item添加新列

我正在使用Magento版本1.4.1.1,我想在sales_flat_quote_item表中保存一个值(并传递给它sales_flat_order_item).

我已经找到了这个教程,但我不确定它是否仍然相关(对于Magento版本1.4.1.1),因为它谈到了一个名为的表sales_order,我相信现在sales_flat_order看起来有点不同.

该方法是否仍然有效?如果是这样的-我可以用它sales_flat_quote_itemsales_flat_order_item什么entity_type_id我应该放在称道:

`insert into eav_attribute('entity_type_id','attribute_code','attribute_model','backend_model','backend_type','backend_table','frontend_model','frontend_input','frontend_input_renderer','frontend_label','frontend_class','source_model','is_global','is_visible','is_required','is_user_defined','default_value','is_searchable','is_filterable','is_comparable','is_visible_on_front','is_html_allowed_on_front','is_unique','is_used_for_price_rules','is_filterable_in_search','used_in_product_listing','used_for_sort_by','is_configurable','apply_to','position','note','is_visible_in_advanced_search'  )  
values(11, 'my_new_column', null, '', 'static', '', '', 'text', '','',null, '', 1,1,1,0,'',0,0,0,0,0,0,1,0,0,0,1,'',0,'',0);`
Run Code Online (Sandbox Code Playgroud)

如果在新的Magento版本中不是这样做的话,我应该怎么做?

谢谢,Shani

php magento magento-1.4

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

DisplayField - 如何格式化日期?

我需要显示数据的只读视图.我已选择DisplayField组件来执行此操作.我的问题是,我想要一种简单的方法来调用BasicForm.setValues(values)并在其中一个displayFields中自动正确呈现日期字符串.我没有找到任何能够为我做这件事的事情(例如渲染器功能),并且我将在调用之前手动格式化日期字符串setValues(values).有没有一些光滑的方式来做到这一点?

谢谢!

components extjs renderer

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