小编use*_*116的帖子

你如何使用任务分拆大量的"火与忘记"工作?

我有一个Windows应用程序,我想引入TPL功能.场景是我有一个类,Process其中包含一个MailMessage传递给它的集合的方法,以及当前的IMAP连接(使用AE.Net.Mail).

我想将尽可能多的线程分离到Execute另一个类中的方法,该方法接受单个MailMessage项目,然后MailMessage分配给DB,然后使用IMAP连接MailMessage从服务器中删除它.

我并不担心跟踪进程 - 我正在处理大量的电子邮件,并且不担心如果我在写入数据库或删除时遇到一些错误.我只需要应用程序尽可能快地通过大量的MailMessages.

我一直在玩,Task<MailMessage>.Factory.StartNew但我真的不知道我在做什么.我似乎无法开始......这是我尝试过的:

Task test = Task.Factory.StartNew(() =>
{
  foreach (var mailMessage in _mms)
  {
    new ProcessMessage().Execute(mailMessage, imapConn);
  }

});
Run Code Online (Sandbox Code Playgroud)

我很确定我不应该在lamda表达式中有一个循环,当我运行它时它似乎没有进入ProcessMessage.Execute.

.net c# task-parallel-library

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

如何在我的C#网站上使用LAME(lame_enc.dll)

我试图在我的C#.NET网站中使用lame_enc.dll而且我被卡住了.

我正在使用:.NET Framework 3.5/Visual Web Developer 2008 Express Edition /(您还需要知道其他什么吗?)

我做的第一件事是从代码项目的C#MP3 Compressor获取代码.我注意到的一件事是这个项目/职位是从2004年1月开始的(所以,它已经过时了)

我将文件夹"yeti.mmedia"和"yeti.mp3"放在我的"App_Code"目录中,并删除了每个文件夹中的"Bin"和"obj"目录.然后我尝试构建项目.当我遇到错误时,我最终从项目中排除了以下文件:

  • yeti.mmedia /的AssemblyInfo.cs
  • yeti.mmedia/EditWaveWriter.cs
  • yeti.mmedia/EditWaveWriter.resx
  • yeti.mmedia/InFormatEdit.cs
  • yeti.mmedia/InFormatEdit.resx
  • yeti.mmedia/NumericTextBox.cs
  • yeti.mmedia/NumericTextBox.resx
  • yeti.mmedia/Win32Functions.cs
  • yeti.mp3 /的AssemblyInfo.cs
  • yeti.mp3/EditMp3Writer.cs
  • yeti.mp3/EditMp3Writer.resx

在我看来,这些是与Windows UI相关的代码文件(我不需要我在网上这样做).

我还将文件"lame_enc.dll"放在Bin目录中.

我根据上面链接的页面上的示例创建了一个测试页面:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using WaveLib;
using Yeti.MMedia;
using Yeti.MMedia.Mp3;

public partial class Documents : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        WaveStream InStr = new WaveStream(Server.MapPath(@"Temp/SomeFile.wav"));
        try {
            Mp3Writer writer = new Mp3Writer(new FileStream(Server.MapPath(@"Temp/SomeFile.mp3"), FileMode.Create), …
Run Code Online (Sandbox Code Playgroud)

.net c# lame

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

进程被终止后不调用 onActivityResult

我有一个主要活动 (Main) 和另一个从 Main 调用的活动 (Sub)

startActivityForResult(new Intent(this, SubActivity.class), 25); 
Run Code Online (Sandbox Code Playgroud)

当我在 Sub 时,我终止了进程(使用任务管理器或 by adb shell kill <pid>),然后我重新打开应用程序,我立即被带到了 Sub。

在 Sub 中,我有这个代码可以回调到 Main 活动:

setResult(RESULT_OK, data);
finish();
Run Code Online (Sandbox Code Playgroud)

onActivityResult如果我没有终止进程,我会收到 requestCode (25)、resultCode (RESULT_OK) 和数据。然而,在这种情况下,我被带到了主要活动,但onActivityResult 没有被调用。

这是Android的工作方式(我不期望),还是我的方法有问题?


更新:这发生在我的 Nexus One、CyanogenMod 7.0.2、Android 2.3.3 上。我尝试使用模拟器 API 10,Android 2.3.4 并且它按预期工作,onActivityResult在我杀死进程后仍然被调用。

android activity-lifecycle android-activity

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

C++继承自未定义的模板类型

这段代码:

template <class T>
class Foo {};

typedef Foo<void*> Bar;

template <class T>
class Foo<T*> : public Bar {};

// use Foo<int*> somewhere.
Run Code Online (Sandbox Code Playgroud)

编译并在MSVC 9.0中正常工作,但不能在GCC 4.1.1或GCC 4.3.4中编译,错误如下:

error: invalid use of undefined type 'class Bar'
Run Code Online (Sandbox Code Playgroud)

这是非法的C++ MSVC接受错误,还是GCC的限制?

无论哪种方式,我如何解决这个问题得到所需的行为:指针的特殊化Foo继承从unspecialised Foo<void*>

c++ inheritance gcc templates

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

TextBlock触发器而不是使用转换器

我想在屏幕上显示一个数字.如果该数字为0,我根本不希望它显示.

<TextBlock Text="{Binding Path=Class.Count}" FontSize="20" FontWeight="Bold">
    <TextBlock.Triggers>
        <DataTrigger Binding="{Binding Path=Class.Count}" Value="0">
            <Setter Property="TextBlock.Text" Value=""/>
        </DataTrigger>
    </TextBlock.Triggers>
</TextBlock>
Run Code Online (Sandbox Code Playgroud)

在常规触发器无法解决我的问题后,我尝试了上面的代码.我不想写一个转换器来处理一个特定的数字.有没有办法创建一个触发器,如果​​它是0,将隐藏数字?

编辑:当我尝试使用常规触发器或数据触发器时,我得到一个xaml解析错误,告诉我需要使用事件触发器.

我试图将setter中的值设置为一个数字,以确保具有空值不会导致问题

wpf binding triggers datatrigger mvvm

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

访问Properties.Settings DLL中的userSettings

我的主应用程序的GUI的一个组件是它自己的项目,主应用程序在运行时只使用GUI组件的.dll.由于userSettings存储在GUI组件中app.config,主应用程序没有复制,我无法保存userSettings(没有创建user.config).

我看到的可能的方法是能够将组件存储userSettings在外部配置文件(由其引用app.config)中,该文件在运行时复制到主应用程序的目录,或以某种方式将所有内容userSettings放在主应用程序的级别(因为它.exe.config是复制)并从GUI组件访问它.

但是,我无法使用这些方法中的任何一种来保存userSettings.有任何想法吗?如果需要澄清,请告诉我.

.net c#

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

如何同时在表中插入多条记录?

我有两个表AccommodationFacility,其连接在与第三表中的多对多的关系,Accommodation_facility.

  • 住宿(住宿_id,住宿类型,名称)
  • 设施(facility_id,facility_name)
  • Accommodation_facility(accommodation_id,facility_id)

使用Yii,如何将多个数据记录插入Accomodation_facility表中?

php sql yii

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

什么是用于设置对象属性的Linq表达式树?

假设我有:

class Foo {
  public int Bar { get; set; }
}
public void SetThree( Foo x )
{
    Action<Foo, int> fnSet = (xx, val) => { xx.Bar = val; };
    fnSet(x, 3);
}
Run Code Online (Sandbox Code Playgroud)

如何使用表达式树重写fnSet的定义,例如:

public void SetThree( Foo x )
{
   var assign = *** WHAT GOES HERE? ***
   Action<foo,int> fnSet = assign.Compile();

   fnSet(x, 3);
}
Run Code Online (Sandbox Code Playgroud)

c# linq .net-4.0 expression-trees

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

从IQueryable的字典字典

我想要一个从IQueryable公式返回字典的方法.通常情况下,

Dictionary<int, Dictionary<DateTime, string>>
Run Code Online (Sandbox Code Playgroud)

起初,我看了ToDictionary()当然,却找不到一种方法来一个接一个地声明两个.

然后,我喜欢ToLookup(),我有一个方法来携带ILookup,字符串是我的辅助字典(DateTime.Tostring()+另一个字符串)...你跟着?:)但我没有发现ILookup解决方案真的很舒服(解析日期到字符串,当我收到数据 - >字符串到日期.. beuark)

那样会有类似的东西

return this.ttdc.Trackers.GroupBy(t => new { TrackerTaskId = t.TrackerTaskID, DateGenerated = t.TrackerDateGenerated })
                    .Select(t => new { taskId = t.Key.TrackerTaskId, DateGenerated = t.Key.DateGenerated, count = t.Count() })
                    .ToLookup(k => k.taskId.Value, k => k.DateGenerated.Value.ToString() + "|" + k.count);
Run Code Online (Sandbox Code Playgroud)

现在,我正在考虑创建一个自创的类列表,其中包含我需要的3个信息作为属性.

你能帮助我选择最好的模式吗?此方法托管在Windows服务上,我想限制传输到客户端的数据量.

谢谢

.net c# iqueryable

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

如何在IOS中将LUT(颜色查找表)应用于CGImage或UIImage?

给定CGImage或UIImage,如何应用自定义颜色查找表(也称为LUT,CLUT,Color Map)?也就是说,在给定映射的情况下,如何将图像中的颜色映射到新颜色?

c# xamarin.ios ios

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