未找到

未发布 MailBee.NET Objects发送电子邮件(SMTP)教程五:发送带有嵌入图片的网页和HTML邮件
by Harriet666 keys 分享 1494839413968
MailBee.NET Objects介绍和试用点击查看>>>
 
为了发送带有嵌入对象的电子邮件,开发人员应该使用SMTP object。首先,开发人员应该按照【MailBee.NET Objects发送电子邮件(SMTP)教程一】中所述指定SMTP对象的所有必要属性。
 
如果HTML格式的邮件没有任何嵌入对象,开发人员可以使用SMTP.BodyHtmlText属性或SMTP.Message.LoadBodyText方法来设置邮件正文。
 
SMTP.BodyHtmlText属性允许开发人员直接分配邮件正文,如下所示:
C#:
oMailer.BodyHtmlText = @"
Test HTML message.



        
       


        This is a test HTML mes-sage.
       


       



        www.afterlogic.com";     
VB.NET:
oMailer.BodyHtmlText = "
Test HTML message.


" & vbCrLf & _
        "" & vbCrLf & _
        "

" & vbCrLf & _
        "This is a test HTML mes-sage." & vbCrLf & _
        "

" & vbCrLf & _
        "


" & vbCrLf & _
        "www.afterlogic.com"
 
也可以使用SMTP.Message.LoadBodyText方法。在这种情况下,开发人员可以从指定的URI中加载消息,如下所示:
C#:
oMailer.Message.LoadBodyText(@"http://www.domain.com/index.htm", MessageBodyType.Html);  
VB.NET:
oMailer.Message.LoadBodyText("http://www.domain.com/index.htm", MessageBodyType.Html)
 
或者
C#:
oMailer.Message.LoadBodyText(@"C:\Temp\saved_web_page.htm", MessageBodyType.Html);     
VB.NET:
oMailer.Message.LoadBodyText("C:\Temp\saved_web_page.htm", MessageBodyType.Html)

否则,开发人员应该调用SMTP.Message.LoadBodyText方法来编写一个包含嵌入对象(图像,音频或视频)的消息。以下示例将邮件正文加载为默认编码以及指定URI中的所有相关文件:
C#:
oMailer.Message.LoadBodyText(@"http://www.domain.com/index.htm ", 
                MessageBodyType.Html,
                Encoding.Default, ImportBodyOptions.ImportRelatedFiles|
                ImportBodyOptions.ImportRelatedFilesFromUris);       
VB.NET:
oMailer.Message.LoadBodyText("http://www.domain.com/index.htm ", _
                MessageBodyType.Html, _
                Encoding.Default, ImportBodyOptions.ImportRelatedFiles Or _
                ImportBodyOptions.ImportRelatedFilesFromUris)
 
请注意:在使用SMTP.Message.LoadBodyText方法时,所有相关文件将被添加到邮件中。
 
代码示例:
该示例从拥有嵌入对象的现有网页中创建新邮件并发送。在使用MailBee.NET Objects之前,请确保它已解锁。
C#:
using System;
using System.Text;
using MailBee;
using MailBee.SmtpMail;
using MailBee.Mime;
namespace EmailApp
{
    class Class1
    {
        [STAThread]
        static void Main(string[] args)
        {
            Smtp oMailer = new Smtp();
            oMailer.To.AddFromString("Bill Smith ");
            oMailer.From.AsString = "John Doe (Company Info)";
            oMailer.Subject = "Test web page";
            oMailer.Message.LoadBodyText(@"http://www.domain.com/index.htm", MessageBodyType.Html, Encoding.Default, 
ImportBodyOptions.ImportRelatedFiles | ImportBodyOptions.ImportRelatedFilesFromUris);
            try
            {
                oMailer.Send();
                Console.WriteLine("The message has been successfully sent.");
            }
            catch (MailBeeSmtpMessageSizeOutOfRangeException e)
            {
                Console.WriteLine("The message is too large (more than " + e.MaxAllowedMessageSize + " bytes).");
            }
        }
    }
}
VB.NET:
Imports System
Imports System.Text
Imports MailBee
Imports MailBee.SmtpMail
Imports MailBee.Mime
 
Namespace EmailApp
    Class Class1
        
        Shared  Sub Main(ByVal args() As String)
            Dim oMailer As Smtp =  New Smtp() 
 
            oMailer.To.AddFromString("Bill Smith ")
 
            oMailer.From.AsString = "John Doe (Company Info)"
 
            oMailer.Subject = "Test web page"
 
            oMailer.Message.LoadBodyText("http://www.domain.com/index.htm", MessageBodyType.Html, Encoding.Default, 
ImportBodyOptions.ImportRelatedFiles | ImportBodyOptions.ImportRelatedFilesFromUris)
 
            Try
                oMailer.Send()
                Console.WriteLine("The message has been successfully sent.")
            Catch e As MailBeeSmtpMessageSizeOutOfRangeException
                Console.WriteLine("The message is too large (more than " + e.MaxAllowedMessageSize + " bytes).")
            End Try
        End Sub
    End Class
End Namespace
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。
未发布 MailBee.NET Objects发送电子邮件(SMTP)教程七:添加多个附件
by Harriet666 keys 分享 1495099317250
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
 
本文主要介绍了如何使用MailBee.NET Objects在邮件中添加多个附件的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
 
MailBee.NET Objects允许开发人员管理此邮件消息的所有附件对象的集合。你可以通过SMTP对象的SMTP.Message.Attachments属性访问此集合。要向邮件中添加多个附件,开发人员应该调用SMTP.Message.Attachments.Add方法。该方法的不同重载允许开发者不仅可以指定附加文件的路径,还可以指定其他参数,如Content-ID(CID)、目标文件名、Content-Type等:
C#:

oMailer.Message.Attachments.Add(@"C:\Temp\report.doc");
oMailer.Message.Attachments.Add(@"C:\Temp\prices_2005.xls", "prs2005.xls");
oMailer.Message.Attachments.Add(@"C:\Temp\my_photo.jpg", "pic1.jpg","<12s4a8a8778c$5664i1b1$ir671781@tlffmdqjobxj>");

oMailer.Message.Attachments.Add(@"C:\Temp\john_doe_photo.jpg", "pic2.jpg","<12s4a8a8932r$5664i1t1$iy671661@yljfmkqjghxu>", "image/gif", null, NewAttachmentOptions.Inline,  MailTransferEncoding.Base64);

VB.NET:
oMailer.Message.Attachments.Add("C:\Temp\report.doc")
oMailer.Message.Attachments.Add("C:\Temp\prices_2005.xls", "prs2005.xls")
oMailer.Message.Attachments.Add("C:\Temp\my_photo.jpg", "pic1.jpg","<12s4a8a8778c$5664i1b1$ir671781@tlffmdqjobxj>")
 
oMailer.Message.Attachments.Add("C:\Temp\john_doe_photo.jpg", "pic2.jpg", "<12s4a8a8932r$5664i1t1$iy671661@yljfmkqjghxu>", "image/gif", Nothing, NewAttachmentOptions.Inline, MailTransferEncoding.Base64)
 
上面的示例向邮件添加了四个附件。第一个文档作为report.doc附加。第二个文件作为附带指定的CID的prs2005.xls。第三个附件是一张图片,也有自己的CID。最后一个附件被强制作为Base64编码中的内联对象。
 
如果附件被认为是一个内联对象,它将与邮件正文一起显示。但是,如果开发人员需要从邮件正文的任何​​地方引用此附件,则应将相应的CID分配给此附件。
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。

试用、下载、了解更多产品信息请点击"咨询在线客服"   

未发布 Essential Studio for ASP.NET MVC发布2017 v2,增加日期范围选择器功能
by Harriet666 keys 分享 1495683576978
Essential Studio for ASP.NET MVC是一个帮您轻松创建高性能Web应用程序的ASP.NET MVC界面开发包,它包含了几乎所有企业级Web应用程序开发所需要的控件,如Grids, Charts, Gauges, Menus, Calendars, Editors等。 除此之外,该控件包还包含了可以让您的应用程序浏览和创建Excel,Word,PDF文件的高性能元件库。
 
Essential Studio for ASP.NET MVC发布2017 v2版本,增加日期范围选择器、文本注释等功能。
 
【Essential Studio for ASP.NET MVC 2017 v2点击下载>>>】

通常

支持资源文件本地化

支持资源文件本地化,根据应用程序或组件生成文本。

25a534ba89ac41258bb0a68be70eae49ojpg

18cfc4842e39487da1e0484ff3f6a291ojpg

 

日期范围选择器

日期范围选择器是一个新的MVC帮助组件,允许从应用程序中的一组预定义或自定义日期范围中进行选择。

主要特征

  • 从弹出窗口中选择日期的选项。
  • 设置便于选择的预定义自定义范围选项。
  • 支持本地化。
  • 手机友好。

c936ff63e04141f88d10dd61bdfbe999ojpg


图表

饼状图系列

增加创建饼状图的新功能。

04161a37650f4b85828454ad4fcf4fccojpg

打印

支持打印图表。

dadeb8c38c984aa08945abf99498dffbojpg

改进轴元件配置

图表控件现在可以防止轴图元素(如标签和标题)放在图表区域内时,图表值越过轴的问题。

d7256c30a52547a2a3368a143855ecb2ojpg


圆形表盘

图例

添加图例来表示圆形表盘中的范围。

215731bb62a6487b94d0b8553c4b6d3aojpg

图表

标签的模板选项

图表控件现在支持在HTML和SVG渲染模式中定义标签的模板内容。

7c3d4760fa0646df99d68b3aa8384889ojpg

DocIO

增强Word转换PDF功能

DocIO现在支持Word到PDF转换期间的方程式字段。

66bbb39553bb4ecda15c1df4ff7a24feojpg

甘特图

导出PDF

甘特图内容现在可以导出为PDF。

b969ed8f0ff04545aa01d11c95546548ojpg

自定义工具栏项目

甘特图控件现在支持自定义工具栏项目。

38439dbab1564870860d001e227276e4ojpg

映射展开状态

最初加载时,可以映射记录的展开状态。

 

列表框

排序

现在可以按升序或降序自动排序列表项。

95d47e514d5c4ac9a782f253378728daojpg

列表显示

虚拟滚动

添加正常模式和连续模式下的虚拟滚动支持,无需缓冲即可加载大量数据。

65253c09a57c4aed8d693ce82b958b60ojpg

PDF

增强PDF安全功能

现在支持PDF 2.0安全功能(AES Revision 6)。

fa3643f1662d4bccb5517c91923848a8ojpg

PDF查看器

文本标记注释

文本标记注释(高亮、下划线和删除线)已添加到PDF查看器控件中。现在可以加载PDF文档,包括文本标记注释,并且可以编辑现有注释。

dc6c9ec2cad04938989a3819d36760e4ojpg

数据透视图表

分组标签

数据透视图表中的分组标签可以选择向上和向下拉取以提供详细的系列信息。

1110787552004ee981637a231ccd6e65ojpg

Pivot客户端

计算成员

Pivot客户端支持通过交互式对话框在运行时创建和显示维度和测度。

4dbe899544db48f581c741c1e0f65c09ojpg

所有Pivot控件通用

Mondrian XML/A连接(客户端模式)

所有数据透视控件都可以通过不同版本的XML/A连接从Mondrian中检索多维数据,仅适用于客户端模式。

 

演示

注释功能

可以在PowerPoint演示文稿中创建和修改注释。

65ca3ca6c75f4dd6af238540a05a6514ojpg

富文本编辑器

粘贴清理

从Word或网页(HTML)复制的内容将在粘贴到富文本编辑器时进行预处理,清理和格式化以获取正确的HTML。

 

时间表

隐藏周末

周末可以隐藏在调度程序中,并在所有视图中只显示工作日。

74f7cf627eea40108c119ece86b2d592ojpg

 

拼写检查器

打字时检查拼写

当按下Enter键或空格键时,拼写检查器控件主动检查拼写错误。它还可以在选定的文本中检查错误。

使用“类”来检查多个目标

可以根据CSS类或ID来检查多个HTML元素(如div、span、textarea和input)。

检查内联框架中的拼写

拼写检查器控件允许检查内联框架(iframe)中的内容是否有拼写错误。


树型网格

自适应渲染

树型网格控件的UI已经在移动环境中得到了改进。

327db43e96104739a661ec2acea0d912ojpg

ac9b4d7781094c119ff3cc08413a6f27ojpg

对话框编辑

树型网格控件现在支持对话框编辑。

5dcea82f62fe46bf836dc707739f53daojpg

6c79f20ba8444889a5536122bdcf0212ojpg

自定义工具栏

树型网格控件现在支持自定义工具栏。

b8e3420d4f764fd5ad7b9ca52190b232ojpg

列验证

记录在更新到数据库之前可以进行验证。

0b32887af96345feb0134892a8820491ojpg

映射展开状态

初始加载时可以映射树形网格中记录的展开/折叠状态。

复选框列

树型网格支持通过Boolean数据显示复选框列。

4d4f3d84d1eb489c8afc952d58dfcfa8ojpg

XlsIO

Excel到PDF转换中的图标设置

Essential XlsIO支持使用“仅显示图标”和“反向图标顺序”选项进行PDF转换的自定义图标设置。

154dca6ba7a44e29bafb81226134a7bfojpg

增强图表转换图像功能

将图表转换为PDF文件或图像时,图表元素(如标题和显示单元)现在支持富文本和具有不同标记的图表系列。

53547136eef744c29aab1c9408ca7032ojpg

数据透视表自定义排序

数据透视表列可以通过字符串数组或设置自定义位置进行排序。

f2ab5072f604484ca5a1b4876d2e2ad9ojpg

表格过滤器

可以根据文本、数值和日期过滤Excel表格行。

c2a380932fa34111a91ec1cb14e26eb8ojpg


试用、下载、了解更多产品信息请点击"咨询在线客服"   

未发布 GIS软件开发工具包TatukGIS Developer Kernel更新至v11.9丨附下载
by Harriet666 keys 分享 1510647331997
GIS定制开发首选控件,帮您轻松搞定高效、优质、实惠的GIS解决方案

TatukGIS Developer Kernel(DK)是一个用于开发自定义地理信息系统(GIS)应用程序以及解决方案的综合性软件开发工具包(SDK)。众所周知,构建一个庞大的地理信息系统需要花费大量的金钱和人力,而TatukGIS却是同类产品中性价比最高的控件,TatukGIS Developer Kernel DK因其功能强大,价格适中,已被超过 50个国家的个人、公司、以及政府等客户用来实现其地理信息系统解决方案。根据不同地首选开发环境,本产品分别以五个独立产品的形式提供(即VCL、.NET/WPF、ActiveX、Compact Framework和ASP.NET),各个产品使用相同的框架、应用程序编程接口(API)技术。
 
TatukGIS Developer Kernel v11.9最新版点击下载>>>
 
TatukGIS Developer Kernel v11.9更新内容
改进:
  • Legend控件的初始版本。其余的功能是完整的。DK-9660
  • 坐标系统定义匹配EPSG 9.2,也支持GD2020。 DK-9769 DK-9664
  • Scale和Nort Arrow控件的发光阴影。DK-9755
  • 添加Antenna、Tower Communication、Wind Turbine符号。 DK-9725 DK-9711
  • 大大改进了DXF。DK-9719
  • 改进FMX桌面的触摸手势。DK-9747
  • VCL添加pinch和pans手势。DK-7462
  • 支持最初的Java Legend控件。
  • 修复其他问题。

2017慧都十四周年狂欢搞事情!砸金蛋100%抽现金红包、满额豪送iPhone X、iPhone 8、DevExpress汉化免费送、团队升级培训套包劲省10万元......更多惊喜等您来探索!

未发布 全面的.NET图像处理包DotImage v10.7.0.7发布丨附下载
by Harriet666 keys 分享 1491038264122
DotImage

Atalasoft DotImage 是一款功能完善的图像处理包,它主要针对.NET的开发。它为基于.Net框架开发的Windows应用程序以及基于IE的Asp.Net程序提供高级的图像处理功能。DotImage 提供了很多Microsoft .NET Framework一样的设计模式,并向开发者提供功能丰富,高性能,授权方式灵活的对象模式。 
最新版DotImage点击下载>>>
 
DotImage v10.7.0.7更新内容

v10.7.0.7中的修复的问题

  • [TiffDecoder]Customer图片会导致TiffDecoder出现SEHException异常。
  • [AdvancedDocClean] LineRemovalCommand在某些图像上会引起不可修复的System.AccessViolationException,从而破坏主机进程。
  • [AbbyyEngine] OcrTableRegion.Cells没有被填充。
  • WebDocumentViewer getDocumentInfo对removePage的调用不成功。

上一个版本中修复的问题

  • 在特定的PDF中使用修复功能会导致新版本出现异常。
  • [MVC] NuGet库中缺少Atalasoft.dotImage.WebControls.MVC(包括x86和x64)。
  • [WDV] Async方法可能会在浏览器页面刷新期间/之后引起控制台发生错误。
  • 使用PdfDocument.Save格式保存时,Multipage PDF页面会引用前几页的资源。
  • 保存PDF时,无效的PDF属性值会引起异常。
  • [PdfAnnotationDataExporter]使用OverwriteExistingAnnotations = true保存到特定图层时,会覆盖掉上一层。
  • PDF417条形码不可读取。
  • Customer DWG文件在DwgDecoder中呈现时丢失图像。
  • WebDocumentViewer会调用触发了ThreadAbortException的Response.End。
  • PdfDocument.Repair对于某些格式不正确的链接可能会删除而不是修复。
  • [PdfTextDocument]文本提取结果在某些文档上使用时会丢失内容。
  • 当SelectionMode = ThumbnailSelectionMode.MultiSelect时WinForms ThumbnailView / FolderThumbnailView SelectionIndexChanged会触发两次。
  • RawDecoder注册时,Customer file会引起System.AccessViolation异常。
  • [PdfGeneratedDocument] PdfTextLine会忽略通过构造函数传递的FillColor和OutlineColor值。
  • [PdfDocument]一些PDF文件在PdfDocument中打开时会发生StackOverflow问题。
  • [PdfDocument]使用PdfDocument / PdfAnnotationDataImporter打开一些PDF时会出现Overflow问题。
  • WebDocumentThumbnailer:当tabular:true set时,滚动条未正确更新。
  • 客户在Logger中报告的竞争条件/非线程安全行为。
  • “不支持Colourspace转换”的Customer tiffs无法打开。
  • 755266:WDV - 打开non-relative web根路径将导致WDV保存失败。
  • [PdfDocument]如果我们多次将新页面添加到文档时,Adobe Acrobat将无法读取pdf文件。
  • 只有页面可见时,WebDocumentViewer Rotate方法才会更新。
  • [OfficeDecoder]无论解码器分辨率如何设置,Office文件始终呈现默认的DPI(大多数系统上为96)。
  • [PdfEncoder]使用PdfCompressionMode.Segmented保存大文件(大量页面)会发生内存的问题。
  • [BarCodeReader] DataMatrix条形码读取速度非常慢
  • PdfCompressionMode.Segmented强制将灰度图像变为黑白,且这种行为没有记录。
  • PdfDocument打开/保存时Customer PDF被损坏。
  • [OfficeDecoder]部分office文件的表格标题中缺少内容。
  • 带有AnnotationStreamWritten事件的WDV 10.7中的行为发生变化。
  • 载入注释中的WDV regression。
  • [DotTwain] HP scanners DeviceEvent 会使device.State进入无效状态。
  • Barcoding.Reading.BarcodeReader没有读取到相应的客户代码。
  • 10.7 WDV更改会破坏WingScan-only的许可。
  • [PdfAnnotationDataExporter] EmbeddedImageAnnotation会增加目标PDF文件大小。
  • [BarCodeReader] - 在其他引擎中读取的PDF-417条形码的Customer images在BarCodeReader中无法读取。
  • [BarCodeReader]当前的BarCodeReader引擎无法读取旧的9.x(Inlite)引擎读取的条形码的全部内容。
  • [PdfDocument]Customer PDF会引起关于MLPdfLabColorSpace的PdfException异常。修复后提示成功,但所有内容也会丢失。
未发布 矢量图形引擎库VectorDraw Developer Framework v7.7012.0.2发布丨附下载
by Harriet666 keys 分享 1499325700094
VectorDraw Developer Framework(VDF)是一款构建2D、3D图形并用于应用程序可视化的矢量图形引擎库。有了VDF提供的功能,您可以轻松地创建、编辑、管理、输出、输入和打印2D和3D图形文件。该库还支持许多矢量和栅格输入和输出格式,包括本地PDF和SVG导出。
 
VectorDraw Developer Framework点击下载>>>
 
VectorDraw Developer Framework(VDF)v7.7012.0.2更新内容:

WebJS

新增需求(7.7012.0.1)
  • 70001107 支持vdPolyface对象的3d形状和GradientColors
  • 70001111 获取实体边界框
漏洞(7.7012.0.1)
  • 70001098 vdSelectionModified事件返回不正确
  • 70001108 具有厚度的vdPolyline的osnaps无法显示

Engine

新增需求(7.7012.0.1)
  • 70001096 无法选择带有窗口选择的多面体
  • 70001105 改进GradientColors
  • 70001106 cmdMultiline自我解析
漏洞(7.7012.0.1)
  • 70001102编辑文字时EditText的问题
  • 70001109如果在没有GetGripSelection方法的情况下添加选择,则不会引发GripModified事件
  • 70001110 Mtext呈现不正确
  • 70001113 3D模式中的文本线型显示错误

试用、下载、了解更多产品信息请点击"咨询在线客服"  

VectorDraw File Converter

【示例教程】如何用LEADTOOLS 实现一个简单的STORE SCU存储客户端
by Harriet666 keys 分享 1519722017492
leadtools提供了封装后的dicom插件,可以非常方便的开发出dicom通讯部分的组件,本篇教程讲解如何使用相关的接口进行代码编写,实现Dicom协议中的CStore存储操作。
 
1.用vs2015创建一个winform项目,引用下面的dll,并在代码里引用
using Leadtools;
using Leadtools.Dicom;
using Leadtools.Dicom.Scu.Common;
using Leadtools.Dicom.Scu;
using Leadtools.MedicalViewer;
using System.Net;
using System.IO;
 
2.创建下面的对象
// CStore highlevel 客户端和服务端对象
        private StoreScu _cstore;
        private DicomScp _server = new DicomScp();
 
3.初始化服务器和客户端参数,
本次用的服务器即是开发包中运行pacs服务器设置程序后,创建的L19_PACS_SCP64
private void initServer() {
            _server = new DicomScp();
            _server.AETitle = "L19_PACS_SCP64";
            _server.PeerAddress = IPAddress.Parse("10.32.1.75");
            _server.Port = 534;
            _server.Timeout = 30;
        }
private void initCstore() {
            _cstore = new StoreScu();
            _cstore.AETitle = "L19_CLIENT64";
            _cstore.HostPort = 1030;
            //存储成功后
            _cstore.AfterCStore += _cstore_AfterCStore;
        }
 
4.执行存储命令
private void 存储ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string filename ="D:\\Xa.dcm";
            _cstore.Store(_server, filename);

        }

保存成功后即可在服务器管理器中,或者使用客户端查询已经存储的图像。
未发布 矢量图形引擎库VectorDraw Developer Framework 更新v7.7011.0.3
by Harriet666 keys 分享 1492073675755

VectorDraw Developer Framework

VectorDraw Developer Framework(VDF)是一款构建2D、3D图形并用于应用程序可视化的矢量图形引擎库。有了VDF提供的功能,您可以轻松地创建、编辑、管理、输出、输入和打印2D和3D图形文件。该库还支持许多矢量和栅格输入和输出格式,包括本地PDF和SVG导出。

VectorDraw Developer Framework点击下载>>>

VectorDraw Developer Framework(VDF)v7.7011.0.3更新内容:

WebJS

新增需求

版本需求

7.7011.0.1

70001006 支持webgl渲染模式的webgl图像
70001016 支持webgl节剪辑
70001019 支持使用scriptCommand hatch绘制阴影边框                             
70001024 使用鼠标进行缩放
70001029 实体选择回调                                                                                                                   

Converter

新增需求

版本需求
7.7011.0.170001015 具有相同名称的vdXproperties导出不正确                                                                

漏洞

版本需求 
7.7011.0.170001009 DXF代理对象读取出错 
70001020 某些DWF文件未正确打开 
70001025 DGN Xrefs的问题  
70001033 Layout paper未正确初始化                                           
7.7011.0.270001040 SPLines在DWG中未正确导出                                                                                      

vdDXF

漏洞

版本漏洞
7.7011.0.170001011 HANDLE类型的XProperty在DXF中未正确导出                                                         

Engine

新增需求

版本需求
7.7011.0.170001008 改进ClearEraseItems方法的速度
70001012 MergeSelection方法用于传递对象的GUIDs                                 
70001027 虚拟机中的OpenGL问题
70001034 能够设置UCS图标字母的颜色
7.7011.0.270001036 外部引用对话框有一个支持路径按钮                                                                            

漏洞

版本漏洞
7.7011.0.170001007 当文本具有斜角时,EditText和AddText命令不会正确显示光标             
70001010 点上的多点折线未正确显示
70001013 Inserts Inside Blocks层是处于ON状态时仍不可见
70001014 图层组和滤镜在删除后仍会保存到DXF中
70001017 图像在nonused Block中使用时会被删除
70001018 线型折线显示不正确
70001021 RenderToGraphics和RenderToDC会清除目标图形上下文的背景
70001022 尺寸对象未正确导入PDF
70001026 在vdraw Idle中很少会随机出现exeption
70001030 Bhatch命令为创建的polyhatch添加白色作为fillcolor
70001031 用户选择部分文字的拉伸命令会出现错误
70001032 vdMtext对象没有对齐
7.7011.0.270001035 vdLayout DrawCCSAxis showOnOrigin参数无法正常工作
70001037 用户尝试打开特定文件后应用程序瘫痪
70001038 图像不能从EMF正确导入
70001039 Block名称不适用于DWG
70001042 具有Shape段的LineTypes不能在3d中与ExcludeFromList Draw3DFlag正常显示 

 

未发布 百度正式开源其RPC框架brpc
by Harriet666 keys 分享 1506650334597
9月14日,百度正式在GitHub上基于Apache 2.0协议开源了其RPC框架brpc。brpc是一个基于protobuf接口的RPC框架,在百度内部称为“baidu-rpc”,它囊括了百度内部所有RPC协议,并支持多种第三方协议,从目前的性能测试数据来看,brpc的性能领跑于其他同类RPC产品。
 
brpc开发于2014年,主要使用的语言是C++和Java,是百度内部使用最为广泛的RPC框架,它经受了高并发高负载的生产环境验证,并支撑了百度内部大约75万个同时在线的实例。据了解,百度内部曾有多款RPC框架,甚至在2014年时还开源过另外一款RPC框架sofa-pbrpc。那brpc是在什么样的背景下诞生的?它有什么样的优势?又为何要开源?就这些问题,InfoQ记者采访了brpc负责人戈君。
 
Q:谈谈brpc的一些基本情况?什么时候开始研发的?经过了怎么样的迭代和升级?目前在内部应用情况如何?

戈君:brpc于2014年创建,在百度内部称为“baidu-rpc”。到目前为止,brpc一共进行了3000次左右的改动,现在仍在持续优化中,百度内的wiki上可以查询到每次改动的描述。brpc的主要语言是C++和Java,对其他语言的支持主要是通过包装C++版本,比如brpc的Python版包含C++版的大部分功能。
 
brpc目前支撑百度内部大约75万个同时在线的实例(不含client),超过500种服务(去年的统计,现在已不统计这类数据)。Hadoop、Table、Mola(另一种广泛使用的存储)、高性能计算、模型训练、大量的在线检索服务都使用了brpc。brpc第一次统一了百度内分布式系统和业务线的通信框架。
 
Q:为什么百度当时要研发brpc?

戈君:我们在实践中意识到,RPC作为最基础的通信组件,当时的百度已经不领先了。我当时的经理刘炀曾是Google的工程师,非常重视基础架构的建设,也愿意在这个方向投入资源。
 
我们在内部会更加深入地讨论这些问题。“好用”有时看起来很主观,但其实还是有据可循的,它的关键点是能不能真正地提高用户的效率:开发、调试、维护都要考虑到,如果用户效率真的被提高了,用户会想着你的,靠吹嘘或政令推广的东西得不了人心。我们创建brpc的初衷是解决百度业务所面临的实际挑战,同时也希望成为百度同学最喜爱的工具,哪怕离开百度也会怀念brpc。我们希望在提供了一个好用框架的同时,也展现了一种工作方法:注释怎么写,日志怎么打,ChangeLog怎么写,版本怎么发布,文档怎么组织,甚至对未来不在百度的同学的工作也有帮助,所以从这点来说brpc从一开始就是拥抱开源的。事实上,我们在口碑上做得还不错,brpc的wiki可能是百度内被点赞最多的内容之一。
 
Q:与其他的一些开源的RPC框架相比,brpc的优势是什么?

戈君:brpc主打的是深度和易用性。一方面我们没有精力像gRPC那样摊大饼,什么都做。另一方面我们也注意到gRPC(包括更早的Thrift)的深度和易用性并不够。技术方面的东西就是这样,看示例程序,文档非常牛逼,但实战中可能就是另一回事了,为什么各个公司都要造自己的轮子,一个隐藏原因就是表面高大上的东西在一些细节上让你无法忍受。

RPC真正的痛点是什么?是可靠性、易用性和定位问题的便利性。服务中不要出现不可解释的长尾,程序的可变项要尽量少,各种诡异问题要有工具支持快速排查。而这些在目前开源的RPC框架中做的并不好,它们大多看着很牛,但就是无法在自己组织中推广开来。回到前面那三点,brpc是如何做的呢?
  • 可靠性。这一方面是代码质量问题,通过为brpc团队设立很高的招聘门槛,以及在团队中深入的技术讨论,我们确保了稳固的代码基础。另一个问题是长尾问题,这是设计问题,brpc其实包含了很多模块,其中的bthread是一个M:N线程库,就是为了更好地提高并发避免阻塞。brpc中的读和写都是wait-free的,这是最高程度的并发。技术细节请点击链接查看。
  • 易用性。有种设计是什么选择都做成选项丢给用户,号称功能都有,但一旦出问题,则是用户“配置错了”。而且这样用户还非常依赖开发团队,没有开发团队的支持基本用不了,开发团队有足够的理由扩充团队。这么做其实非常不负责任,用户面对海量的选项也很难受。brpc对于增加选项非常谨慎,框架能自己做判断的绝不扔给用户,所有用户选项都有最合理的默认值,不设也能用。我们认为这对用户体验来说非常重要。
  • 定位问题的便利性。这点其它开源框架目前做的都不好,正常使用是可以的,但出问题就麻烦了。这个问题在百度内部其实也很严重,brpc之前用户排查问题都要拉RPC同学一起排查,RPC框架对用户是个黑盒,用户根本不知道里面发生了什么。按我们的经验,基本每天都有几个用户在群里问server卡顿,client超时之类的问题,排查问题是常态,人手必然不够。时间长了用户就觉得你这个框架各种问题,人还拽的不行很少回他们消息。brpc的解决办法是给server内加入各种HTTP接口的内置服务,通过这些服务,用户可以很快看到server的延时、错误、连接、跟踪某个RPC、CPU热点、内存分配、锁竞争等信息,用户还可以使用bvar来自定义各类统计信息,并在百度的运维平台NOAH上汇总。这样大部分问题用户可以自助解决。其实我们去看也是看这些,只是会更加专业。内置服务的具体说明可以看这里。
 
Q:作为公司内部的RPC框架,在服务治理方面有什么考虑?

戈君:百度内部RPC使用非常广泛,基本都是RPC调用,一些产品线还会通过local RPC隔离工程框架和策略代码。这么多年下来,服务周边的系统也比较全面了:编译是BCLOUD,发布是Agile,服务注册和发现是BNS,认证是Giano,监控和运维是NOAH。在百度内部,brpc和这些系统做了比较紧密的绑定,用户体验是一站式的。虽然在开源版本中,这些结合大都删掉了,但用户可以根据自己组织中的基础设施来进行定制:交互协议,名字服务,负载均衡算法都可以定制。对于其中一些特别通用的,我们希望用户反馈到开源版本中来以方便所有人。
 
Q:之前百度还开源过sofa-pbrpc,brpc与它的区别是什么?

戈君:sofa-pbrpc也是百度开发的一个比较早期的RPC框架,属于sofa编程框架的一部分,在搜索有应用。brpc相比sofa-pbrpc有如下优点:
  • 对协议的抽象更一般化,并统一了全百度的通信架构。bprc能容纳非常多的协议,基于Protobuf的,基于HTTP的,百度内的nshead/mcpack,开源的Redis/Memcached,甚至RTMP/FLV/HLS直播协议,brpc能逐渐地嵌入现有系统,而不需要彻底重构,但sofa-pbrpc则不具备扩展协议的能力。类似的,sofa-pbrpc也无法定制负载均衡算法,brpc默认提供round-robin、随机、一致性哈希,Locality-aware(局部性感知)四种算法,用户还能定制。
  • 多线程质量更好。多线程编程是非常困难的,看起来简单的RPC遍布多线程陷阱,比如处理超时的代码可能在RPC还没发出去时就运行了;发送函数还没结束,处理回复的回调就被运行了;一个回复还在被处理另一个回复回来了,诸如此类。另外,一个异步RPC的回调里发起一个同步RPC会发生什么,带着锁做同步RPC会发生什么。这些问题我们都不能在sofa-pbrpc中找到满意的答案。
  • 完备的调试和运维支持。解决这个问题的本质还在可扩展性,你如何让用户参与进来定制他们感兴趣的指标,为此我们设计了bvar,让用户能用比原子变量代价还小的方式自由地定制各种指标,用户能在浏览器上看到指标的变化曲线,或在运维平台NOAH看到汇总的监控数据。brpc还加入了大量内置服务方便用户调试程序,查看连接,在线修改gflags,追踪RPC,分析CPU热点,内存分配,锁竞争等一应俱全。
无需讳言,brpc在诞生之初和sofa-pbrpc在百度内部是有竞争关系的,但就像其他地方一样,这种竞争带来了活力。类似的,brpc和其他已经开源的RPC框架也是良性的竞争关系,在比拼谁能真正提高用户效率的过程中共同进步。每个用户都可以去对比代码、文档质量,接口设计,易用程度,扩展能力等,投出自己的一票。
 
Q:谈谈brpc的整体架构?

戈君:技术栈无外乎是从传输层垒到应用层,就略过不讲了,具体可以去看下开源出来的文档。brpc在架构上强调“在不牺牲易用性的前提下增强可扩展性”,比如brpc支持非常多的协议,在百度内部一个brpc server同端口可以支持二十几种协议,这对于服务的平滑迁移就非常好用。

Client端的协议也非常多,用户用brpc和bthread用得很爽,所以希望我们最好能统一所有的客户端,像对Redis和Memcached的客户端支持也是在这个背景下做的,这两个客户端比官方Client好用多了,感兴趣的读者可以去尝试一下。但这么多协议的配置非常简单,填个字符串就行了,比如HTTP就是把ChannelOptions.protocol设为“http”,Redis就是“redis”。Server端甚至不用设,它会自动判断每个client的协议,怎么做到的开源文档里也有。

名字服务、负载均衡也都可以定制。但为了对用户负责,我们也不鼓励“太自由”的定制,比如一点点需求的变化就要搞个新的,这时更需要想清楚本质区别是什么。这个事情我们在百度内的支持群里每天都在做,我们是开放的”乙方”,但我们也是严厉的”乙方”。
 
Q:brpc的性能如何?这么高的性能是怎么做到的?

戈君:性能是我们非常看中的一点,它和用户体验也是紧密联系的。好用但性能不行,或不好用但性能很牛,用户会很难受,我们不希望用户纠结。从另一个角度来看,在推广初期,我们要说服产品线用brpc靠什么?最直观的就是性能提升。而且这儿的性能不能停留在benchmark的图片上,而是能在真实应用中体现出来。开放出来的案例文档中或多或少都包含了性能提升,具体如下:
  • 百度地图API入口
  • 联盟DSP
  • ELF学习框架
  • 云平台代理服务
 
Q:为什么要将brpc开源?接下来在开源项目的迭代方面有什么计划吗?

戈君:因为马上还有不少依赖RPC的百度系统要开源啊。RPC作为最基础的组件,开源不仅仅是为了自身,也是为其它开源项目铺路,比如说我们马上还会开源基于brpc的RAFT库,搭建高可用分布式系统非常方便;以及使用brpc的bigflow,让流式计算变得很顺手。这些年百度对开源的认识也在不断加深,开源看似曝光了百度的核心技术,但带来的生态影响力更重要。从Apollo、PaddlePaddle开始,百度真的开始拥抱开源了。brpc的开源版和内部版很接近,只是去掉了对百度内部独有的一些基础设施的支持,我们在内网写的深入分析RPC技术细节的文档也都一并开源了,后续也会及时推送改动,请大家放心。这是一个活项目,不会拉个开源分支就不管了。
查看更多资讯>>>

未发布 企业级工具包Essential Studio Enterprise Edition 2017 v2发布丨附下载
by Harriet666 keys 分享 1495869194719
Essential Studio企业版,一个跨越八个平台并包含433种独特控件的企业级工具包。使用Essential Studio企业版,开发者可以创建丰富的应用程序,并轻松地集成商业智能分析和报告解决方案。Essential Studio企业版是世界级的软件组件,它使得开发者能在最苛刻的环境下开发出高质量的软件。
 
Essential Studio企业版2017 v2点击下载>>>

Essential Studio Enterprise Edition 2017 v2

  • Xamarin的sunburst图和图像编辑器控件。
  • UWP的甘特控件。
  • ASP.NET MVC的日期范围选择器控件。
  • Xamarin的列表视图控件已正式发布。

Essential Studio for JavaScript

Essential Studio for JavaScript通过添加文本注释、Mondrian XML / A支持、列表视图中的虚拟滚动以及许多其他功能,扩展了企业Web开发界限。
abc714f5d74445e3b4a9109ed41184ebojpg
文本标记
在PDF查看器中添加和编辑文本标记注释,以突出显示、下划线和删除线标记文本。
bfcc0598ddcb494d8b0f2675f833ec6aojpg
支持客户端Mondrian XML/A
通过不同版本的XML/A连接从Mondrian中检索多维数据。
bd9edb5af7ee4e6d98a7429748173004ojpg
虚拟滚动
在列表视图控件中启用正常或连续的虚拟滚动以提高性能。
点击查看更多更新>>

Essential Studio for Xamarin

Essential Studio for Xamarin是最好的Xamarin.Forms套件之一,新增sunburst图表控件和许多其他功能。
0121c51af194452888456323b58b1427ojpg
新的sunburst图表
以同心的方式可视化不同级别的分层数据。
149696eb4f124f52ac1397c2d7126aa6ojpg
自动列表项目
根据列表视图控件中的内容大小自动适应列表项。
9f629a484db74c4cb0175878623cc240ojpg
表格摘要
显示数据网格控件顶部或底部的摘要信息。
点击查看更多更新>>

Essential Studio for WPF

Essential Studio for WPF是一个大型套件,新版本添加了工作簿排序和过滤、动态图表端口、Adobe X安全性和其他新的功能。
3040f223b865470eaf2d90c10aba92d8ojpg
在工作簿中排序和过滤
通过使用电子表格控件过滤和排序来分析工作簿中的数据。
4cf14b6243ea40c2b23b957d91d59cf3ojpg
滚轮鼠标平移
通过滚轮鼠标的中心滚动按钮平移图表。
f950fa4612434af09fb299f332b55083ojpg
Adobe X加密和解密
使用带有PDF 2.0安全功能的Essential PDF(AES Revision 6)。
点击查看更多更新>>

Essential Studio for Windows Forms

Essential Studio for Windows Forms 2017 v2版本,支持office 2016和主题定制等功能。
66d5151af621433c82e5c1ae8ceda524ojpg
Office 2016数字量规的样式
Office 2016主题外观和主题定制支持数字、线性和径向量规形式。
181dd65e956e42469c1ea284926c5c48ojpg
Excel表格过滤器
使用Essential XlsIO,根据文本,数字和日期筛选Excel表格中的行。
de89d91566f649a1abaf30e2266bbd69ojpg
Adobe X加密和解密
使用带有PDF 2.0安全功能的Essential PDF(AES Revision 6)。
点击查看更多更新>>

Essential Studio for UWP

Essential Studio for UWP为通用Windows平台增加了更多功能,新增甘特图控件。
a9378ad37e3b41fa9c913470ec4ee022ojpg
新甘特图控件
通过可视化和编辑计划来跟踪项目的进度。
7a78cca185844ad7813360a19024e510ojpg
片段装饰
为连接器添加了一种新的装饰元素,以指示连接在另一个连接器或片段上的流动。
584717f90f1e44719f8f1843e9d615cdojpg
数据透视图注释
在透视图中添加包含图表系列元数据的注释。
点击查看更多更新>>

Essential Studio for ASP.NET Web Forms

Essential Studio for ASP.NET Web Forms 2017 v2版本增加大量新功能包括自定义树形网格工具栏、文本注释等。
f7a601d32b7543fd8604e83839bd6074ojpg
文本标记
在PDF查看器中添加和编辑文本标记注释,以突出显示、下划线和删除线标记文本。
d0f00d90b4d148b59dfc9455b0e0050aojpg
导出到PDF
将甘特图内容导出为PDF文件。
8877795f43fc4058aa77dc1515a1dba7ojpg
自定义工具栏
将自定义项目添加到树形网格控件的工具栏。
点击查看更多更新>>

Essential Studio for ASP.NET MVC

ASP.NET MVC 2017 v2版本增加了更多的功能,例如新的日期范围选择器、文本注释和PowerPoint文件的注释编辑。
b8179fd221e04cadba1f0137525d8661ojpg
新日期范围选择器
从一组预定义或自定义范围中选择一个日期范围。
c63bc61d4b084938960de1086ba7988cojpg
文字标记
在PDF查看器中添加和编辑文本标记注释,以突出显示、下划线和删除线标记文本。
263fbb270e714bd0b89ba2f12e5e2423ojpg
添加和编辑注释
使用Essential Presentation在PowerPoint文件中创建和修改注释。
点击查看更多更新>>

试用、下载、了解更多产品信息请点击"咨询在线客服"    


 近期热门 - 点击最多
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Node.js 打印vite react+go项目目录树
  3. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  4. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  5. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  6. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  7. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  8. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  9. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  10. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法

  全端社区 - 最新回复
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  3. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  4. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  5. Node.js 打印vite react+go项目目录树
  6. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  7. Windows与Mac通过git ssh和rsync实现文件共享互传
  8. Windows与Mac通过git ssh和scp实现文件共享互传
  9. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  10. 使用PubSub-JS时ReactNative在后台运行一段时间唤醒后,组件无法scribe到publish的事件,typescript实现一个事件订阅发布组件

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA