8:00 AM
2
Custom Code Activity
Hey Gwener's, What's Up!
Melanjutkan artikel sebelumnya Custom Activity in Workflow Foundation. Jika sebelumnya kita menggunakan designer untuk membuat custom activity namun kini saya akan mengulas bagaimana membuat activity dengan code. Berikut selengkapnya

Pertama yang perlu sobat buat adalah project Activity Library kemudian tambahkan item CodeActivity seperti gambar diatas. berikutnya ini contoh script yang bisa sobat gunakan sebagai custom activity untuk membuat sebuah Hash
    public sealed class ComputeHash : CodeActivity
    {
        // Define an activity input argument of type string
        public InArgument Input { get; set; }

        protected override string Execute(CodeActivityContext context)
        {
            string input = context.GetValue(this.Input);
            StringBuilder hash = new StringBuilder();

            // Compute Hash - see http://msdn.microsoft.com/en-us/library/s02tk69a.aspx
            // NOTE: do not use MD5 for security 

            using (HashAlgorithm hashAlgorithm = MD5.Create())
            {
                // Convert the input string to a byte array and compute the hash.
                byte[] data = hashAlgorithm.ComputeHash(Encoding.UTF8.GetBytes(input));

                // Loop through each byte of the hashed data 
                // and format each one as a hexadecimal string.
                for (int i = 0; i < data.Length; i++)
                {
                    hash.Append(data[i].ToString("x2"));
                }
            }

            // Return the hexadecimal string.
            return hash.ToString();
        }
    }
Pada script diatas sebenarnya input argument akan diencript menggunakan hashalogirtma. Sehingga apapun input string yang dibuat akan menghasilkan encriptsi yang berbeda pula. Contoh code diatas bisa sobat gunakan sebagai custom activity. Sobat bisa membuat untuk keperluannya yang lain dengan melakukan inhiretance pada class yang sama.
Sebenarnya banyak sekali base class yang bisa sobat gunakan untuk membuat custom activity ini diantaranya ada NativeActivity atau NativeActivity dan lainnya yang bisa sobat temukan pada namespace System.Activities
Jangan lupa juga untuk membaca artikel tentang Cara Publish Workflow pada Workflow Manager 1.0

2 comments: