c#运行加密的dtsx包

c#运行加密的dtsx包,c#,encryption,ssis,C#,Encryption,Ssis,使用前面的代码,我正在运行一个加密的dtsx包。 我运行解密方法,将结果保存到目标文件并执行该文件。 有没有一种方法可以在不创建目标文件的情况下运行包?假设我理解请求,在内存中您有包的XML版本,并且您希望节省将未加密位写入磁盘以运行的成本。使用类进行实例化的方法不会起作用,因为没有接受流的方法。它需要从磁盘、SQL Server表或包存储中提取 相反,Package类有一个方法,它应该是您正在寻找的方法 然后代码变为 // encrypted file path string sour

使用前面的代码,我正在运行一个加密的dtsx包。 我运行解密方法,将结果保存到目标文件并执行该文件。
有没有一种方法可以在不创建目标文件的情况下运行包?

假设我理解请求,在内存中您有包的XML版本,并且您希望节省将未加密位写入磁盘以运行的成本。使用类进行实例化的方法不会起作用,因为没有接受流的方法。它需要从磁盘、SQL Server表或包存储中提取

相反,Package类有一个方法,它应该是您正在寻找的方法

然后代码变为

// encrypted file path
    string source = @"C:\Users\cfa\Desktop\encryptedPackage.dtsx";

    // decrypted file destination
    destination = @"C:\Users\cfa\Desktop\test\decryptedPackage.dtsx";

    // read encrypted file
    string text = System.IO.File.ReadAllText(source);

    // decrypted file
    decrypted = crypt.Decryption(text);

    System.IO.File.WriteAllText(destination, decrypted);

    // run decrypted dtsx file - destination
    Microsoft.SqlServer.Dts.Runtime.Application app = new Microsoft.SqlServer.Dts.Runtime.Application();
    Package package = app.LoadPackage(destination, null);
    DTSExecResult pkgResults;
    pkgResults = package.Execute();

    // delete destination file
    File.Delete(destination);

我们缺少一些代码
crypt
是什么类的实例?此包是否在SSIS可用的本机包加密之外加密?@billinkc Descryption是在类crypt内创建的用于解密.dtsx文件的方法。它以字符串的形式返回dtsx文件的解密内容,并将其保存到目标文件中。我想知道是否有办法将文件作为字符串运行,而不是加载目标。类似于“Package=app.LoadPackage(已解密,null);”
Package package = package.LoadFromXML(decrypted, null);