我正在编写一个简单的应用程序(对于我的妻子而言:-P),它可以对潜在的大批图像进行一些图像处理(调整大小,时间戳等).所以我正在编写一个可以同步和异步执行此操作的库.我决定使用基于事件的异步模式.使用此模式时,您需要在工作完成后引发事件.这是我知道什么时候完成的问题.所以基本上,在我的DownsizeAsync方法(缩小图像的异步方法)中,我正在做这样的事情:
public void DownsizeAsync(string[] files, string destination)
{
foreach (var name in files)
{
string temp = name; //countering the closure issue
ThreadPool.QueueUserWorkItem(f =>
{
string newFileName = this.DownsizeImage(temp, destination);
this.OnImageResized(newFileName);
});
}
}
Run Code Online (Sandbox Code Playgroud)
现在棘手的部分是知道什么时候它们都完整了.
这就是我所考虑的:使用像这里的ManualResetEvents:http://msdn.microsoft.com/en-us/library/3dasc8as%28VS.80%29.aspx但我遇到的问题是你只能等待64次或更少的事件.我可能有更多的图像.
第二个选项:有一个计数器来计算已完成的图像,并在计数达到总数时引发事件:
public void DownsizeAsync(string[] files, string destination)
{
foreach (var name in files)
{
string temp = name; //countering the closure issue
ThreadPool.QueueUserWorkItem(f =>
{
string newFileName = this.DownsizeImage(temp, destination);
this.OnImageResized(newFileName);
total++;
if (total == files.Length)
{
this.OnDownsizeCompleted(new …Run Code Online (Sandbox Code Playgroud) 我遇到了InvalidProgramException.本文:
http://support.microsoft.com/kb/312544/en-us
建议我运行PEVerify.exe,但我似乎无法找到它.你知道我从哪里可以得到它吗?
谢谢.
我使用Visual Studio 2008在winforms C#中实现了一个大表单.在对话的大部分工作正常后,当我尝试打开设计器时,它开始显示很多错误masseges.
"该变量要么未声明,要么从未分配过"
我得到了很多以前运行良好的控件.我认为它发生在我使用的自定义控件上
我正在为当地一所大学实施一个讲座捕捉项目.多个视频流将到达一台PC:演示者的桌面幻灯片,演示者自己的摄像机图像以及可选的数字白板捕获.这些传入流将由桌面应用程序管理,该应用程序显示,转码/混合并最终将它们保存到磁盘.将有一些配置选项,因为材料可以以各种方式分发:作为DVD上的Flash应用程序,作为在线Flash应用程序或作为Windows Media Player的视频点播流.
此应用程序应在Windows上运行.可选地,它可以支持其他平台,但它似乎不是高优先级.
GStreamer和DirectShow似乎都能够提供底层技术.我对Linux上的GStreamer有一点经验,我喜欢它的设计,所以我倾向于将它用于这个项目.但是,我不知道它在Windows上的支持程度如何.我找不到关于如何在Windows上构建GStreamer的最新文档.所以我担心在这个过程中我会陷入困境.
DirectShow似乎是一个更安全的选择,因为它使用得更广泛,并且在互联网上有更多可用的文档.
这里有没有人有在Windows上使用GStreamer的经验?它运作良好吗?我应该注意哪些问题?
编辑
我发现了GStreamer OSSBuilds网站,并能够快速实现一个简单的视频播放器(基于'playbin'元素).所以我想我会更进一步追求GStreamer路径.
我正在尝试使用Copy.asmx webservice,CopyIntoItems方法从本地计算机上载文档.我可以成功上传文档和DateTime属性,但我无法更新文档库的查找属性.我正在使用带有sp2的MOSS 2007
我使用的代码如下所示:
string[] destinationUrls = { Uri.EscapeUriString(destinationUrl) };
CopySharepointService.FieldInformation dateInformation = new CopySharepointService.FieldInformation();
dateInformation.DisplayName = "Date";
dateInformation.Type = CopySharepointService.FieldType.DateTime;
dateInformation.Value = DateTime.Today.ToString();
CopySharepointService.FieldInformation fundInformation = new CopySharepointService.FieldInformation();
fundInformation.DisplayName = "Fund";
fundInformation.Type = CopySharepointService.FieldType.Lookup;
fundInformation.Id = new Guid(fundGuidItem); // This is the GUID of the field being updated in the document library
fundInformation.Value = "1";
CopySharepointService.FieldInformation[] info = { dateInformation, fundInformation };
CopySharepointService.CopyResult[] result;
CopySharepointService.CopySoapClient CopyService2007 = new CopySoapClient("CopySoap");
CopyService2007.ClientCredentials.Windows.ClientCredential = CredentialCache.DefaultNetworkCredentials;
CopyService2007.CopyIntoItems(destinationUrl, destinationUrls, info, fileData, out result);
Run Code Online (Sandbox Code Playgroud)
文档已成功上载,但查找字段未更新 …
我确信我只是度过了糟糕的一天并且错过了一些明显的东西.我正在尝试在IntelliJ IDEA 9.0中创建一个新的Grails项目,我无法将其与SDK相关联.我尝试从头开始创建项目并从现有源创建项目.在任何一种情况下,我都会进入"请选择项目JDK"屏幕,我唯一的选择是:
选择项目JDK http://img521.imageshack.us/img521/5793/idea1n.jpg
当我使用IntelliJ IDEA 8.1.3时,它会问我同样的事情,我只想导航到C:\ Grails,一切正常.我甚至尝试在以下位置添加SDK,但无济于事.
我错过了一些非常明显的东西,对吧?
我正在使用虚拟打印机将各种文件转换为PDF格式.
如您所知,Microsoft在Windows 7中引入了Device Stage Experience,这是一种在与设备交互时自定义用户体验的好方法.我已经下载并安装了他们的开发工具包,只是为了快速发现所有内容都与设备的硬件ID有关.
有没有办法为虚拟设备创建Device Stage Experience(比如我们的虚拟打印机,其硬件ID为空)?
谢谢.
我发现XPath有时难以理解我正在寻找一个工具,我可以指向xml配置文件中的一行,它会告诉我xpath到我需要的属性.
任何有关这方面的帮助将非常感激>
通过多次迭代测试,我只注意到我的连接表代表了两个模型之间的HABTM关系,当删除这些模型的实例时,它不会删除条目.删除具有HABTM关系的模型实例时,是否需要执行一些特殊操作?
mysql ruby-on-rails has-and-belongs-to-many relationships dependent-destroy
c# ×4
.net ×3
c++ ×1
directshow ×1
grails ×1
gstreamer ×1
mysql ×1
open-source ×1
peverify ×1
threadpool ×1
web-services ×1
windows ×1
windows-7 ×1
winforms ×1
xml ×1
xpath ×1