小编RP.*_*RP.的帖子

基于插件的架构有哪些优缺点?

我想为可以在一个平台下集成各种第三方软件(可执行文件)的软件进行架构设计.

默认情况下,标准项目类型将添加到平台.项目类型定义了执行不同软件的方式及其输入和输出文件.

用户可以自定义可用的标准项目类型,并将其作为定义新自定义执行流的新项目类型添加到平台.

此外,它应该支持轻松扩展和自定义功能.我读到基于插件的架构支持两者.

基于插件的架构有哪些优缺点?我们有更好的架构可以用于这种场景吗?

提前致谢:)

architecture

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

在低内存Windows手机设备中使用HttpClient上传大文件的最佳策略是什么?

我正在尝试使用类似方法上传文件HttpClient:如何 在Windows手机中一次上传多个文件.

using (var content = new MultipartFormDataContent())
{
    content.Add(CreateFileContent(imageStream, "image.jpg", "image/jpeg"));
    content.Add(CreateFileContent(signatureStream, "image.jpg.sig", "application/octet-stream"));

    var response = await httpClient.PostAsync(_profileImageUploadUri, content);
    response.EnsureSuccessStatusCode();
}

private StreamContent CreateFileContent(Stream stream, string fileName, string contentType)
{
    var fileContent = new StreamContent(stream);
    fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data") 
    { 
        Name = "\"files\"", 
        FileName = "\"" + fileName + "\""
    }; // the extra quotes are key here
    fileContent.Headers.ContentType = new MediaTypeHeaderValue(contentType);            
    return fileContent;
}
Run Code Online (Sandbox Code Playgroud)

这在上传小文件时工作正常.如果我尝试在低端设备(512Mb内存)中上传更大的文件(例如> 50mb),则会抛出System.OutOfMemoryException.我使用诊断工具来监视内存消耗,并注意到在PostAsync调用期间内存会呈指数级增长.似乎它正在将整个内容复制到内存中.现在我们在api中没有分块支持.

在低内存Windows手机设备中使用HttpClient上传大文件的最佳策略是什么?

.net c# httpclient windows-phone-8.1

10
推荐指数
2
解决办法
5776
查看次数

如何在QT中设计文本编辑器?

我想在QT中设计一个文本编辑器,并计划实现以下基本功能,

1)基本编辑功能,如剪切,粘贴,格式化,缩进等.

2)基于上下文自动完成.(基于一些xml输入文件)

3)语法高亮(基于某些xml输入文件)

您能否为整体架构/设计提出一些建议?

architecture qt

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

如何用XML表示以下数据?

如何用XML格式表示以下数据?

commandA                 ( a | b | c )

position = pos [(m | n | o )]

[space = space] [(m|n|o)]      

[option1]

[option2 = "Hello"]

[option3]
Run Code Online (Sandbox Code Playgroud)

注意:[] - >表示可选,

() - >表示强制性

| - >表示任何值

例如:

 commandA a position = 1.0<m> space = 2.0<n> option1  option2="Hello"
Run Code Online (Sandbox Code Playgroud)

如何在xml中有效地表示这些数据?

我试过这样的事,

<command name="commandA" position = "position" >
     <option name="option1"/>  
     <option name="option2" value = "Hello"/>
     <option name="option3"/>
</command>
Run Code Online (Sandbox Code Playgroud)

但是如何处理命令值ie a|b|c和位置即m|n|o

编辑:命令:语法:

commandA(a | b | c)pos = 0 [w | …

xml

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

如何在商业应用程序中重用部分QtCreator源?

假设我有Qt的商业许可证(例如4.5.2),是否可以重用部分QtCreator(比如版本2.0)源代码来开发完全专有的软件?我阅读了QtLicensing信息,但它没有提供有关QtCreator许可的任何信息.

qt licensing

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

如何将minizip包装器转换为unicode?

我正在尝试使用[http://www.zlib.net/]的minzip包装来压缩文件夹.只要文件名是英文,它就可以正常工作.有没有人试图修改minizip来支持unicode?

修改后的代码发布在下面.问题在于这个函数,第二个参数将const char*作为输入.当我进行转换时,它会丢失数据,文件名也不一样.

例如:中文 - 统一码.txt成为zip中的中文-t +ƒS+Çtáü.txt.

err = zipOpenNewFileInZip3_64(  zf,outstr.c_str(),&zi,
                                        NULL,0,NULL,0,NULL /* comment*/,
                                        (opt_compress_level != 0) ? Z_DEFLATED : 0,
                                        opt_compress_level,0,
                                        /* -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, */
                                        -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY,
                                        password,crcFile, zip64);








minizip.c
Version 1.1, February 14h, 2010
sample part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )

Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )

Modifications of Unzip for Zip64
Copyright (C) 2007-2008 Even Rouault

Modifications for Zip64 support on both zip and unzip
Copyright (C) 2009-2010 Mathias …
Run Code Online (Sandbox Code Playgroud)

c c++ zlib

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

比较两个列表中对象的id,并获取包含在两个列表中都出现id的对象的对象列表

我已经和它斗争了很长时间.我有两个集合:MyRepository.All和MyCollection,它们都拥有具有ID属性的对象集合.我需要从MyRepository.All获取对象列表的结果,其中只包含id等于MyCollection的对象'的对象.

ICollection MyCollection //作为方法的参数

var result = MyRepository.All.Where(r=>r.id==MyCollection.???.id).ToList();
Run Code Online (Sandbox Code Playgroud)

我需要更换??? 用一些linq来完成这件事.香港专业教育学院尝试不同的地方,选择caluses,excist和intersect等等.

c# linq collections compare

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

标签 统计

architecture ×2

c# ×2

qt ×2

.net ×1

c ×1

c++ ×1

collections ×1

compare ×1

httpclient ×1

licensing ×1

linq ×1

windows-phone-8.1 ×1

xml ×1

zlib ×1