在 C# 中以编程方式加载 SSIS 包

Loading SSIS Package Programmatically in C#

我正在从我的应用程序中加载一个运行良好的 ssis 包。然而,我正在尝试解决并惨遭失败的是包在 1 秒内执行(这很好)但包的加载需要 9 秒。

在 visual studio 2015 年在本地工作,远程连接到 SQL Server 2014 实例。

程序包正在从控制台应用程序的异步 Web api 调用后面的业务对象中加载。

这是代码(标准的东西)...

Application application = new Application();
DTSExecResult result;
DTSPackageEventListener eventListener = new DTSPackageEventListener();

packageLocation = request.packageLocation;

//using (Package package = application.LoadPackage(packageLocation, eventListener)) // 9 seconds to load
using (Package package = application.LoadFromDtsServer(@"File System\<PACKAGENAME>", @"<SERVERNAME>", eventListener)) // 9 seconds to load
{
.
.
.

有人有什么建议吗?任何 help/guidance 将不胜感激。

西蒙.

这是正常的,dtsx 文件是一个 xml 文件,DtsRuntime 库需要反序列化文件以将其加载为 dot net class。还有一些验证是在包加载时完成的。