Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Setelah menyebarkan komponen Transaction Integrator (TI), Anda dapat menulis kode terhadap komponen tersebut. Setelah selesai menulis kode, Anda dapat menguji kode, dan jika perlu mengubah antarmuka ke komponen TI.
Untuk membuat kode aplikasi TI
Buat instans objek TI.
Objek TI berisi antarmuka yang akan Anda tulis kodenya. Ketika aplikasi Anda memanggil antarmuka pada objek TI, TI Manager akan meneruskan informasi ke server jarak jauh Anda.
Siapkan variabel data Anda.
Seperti banyak aplikasi yang menggunakan Server Integrasi Host, penting bahwa Anda menggunakan jenis data yang dapat berhasil diterjemahkan ke dan dari server jarak jauh Anda. Untuk keterangan lebih lanjut tentang jenis data dan bagaimana mereka memetakan antar sistem, lihat Jenis Data dan Host dan Data Otomatisasi.
Lakukan panggilan terhadap parameter yang relevan di objek TI.
Lakukan tindakan apa pun yang diperlukan untuk aplikasi Anda, yang kemungkinan akan mencakup panggilan antarmuka yang dijelaskan oleh objek TI Anda. Anda mungkin juga memiliki tugas tambahan yang diperlukan untuk aplikasi Anda. Untuk informasi selengkapnya, lihat Pemrograman Windows-Initiated Pemrosesan.
Saat menulis aplikasi Anda, pastikan untuk mempertimbangkan detail keamanan lingkungan Anda yang relevan.
Contoh
Contoh berikut diambil dari kode program utama dalam tutorial Discriminated Union di contoh SDK. Untuk sampel kode lengkap, lihat <Direktori Instalasi>\Microsoft Host Integration Server\SDK\Samples\ApplicationIntegration\WindowsInitiated\DiscrimiatedUnion.
using System;
using System.Collections.Generic;
using System.Text;
using Banking;
namespace DiscriminatedUnions
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Processing Output only Account Information");
AccountInformationOutOnly();
Console.WriteLine("\n\nProcessing Input and Output Account Information");
AccountInformationInOut();
Console.WriteLine("\nPress any key to continue...");
Console.Read();
}
#region Output Only Discriminated Union Processing
static void AccountInformationOutOnly()
{
// Define an instance of the TI Banking object
Banking.Accounts MyBankObj = new Banking.Accounts();
// Call the Get Account Information method on the TI Object
// passing it the array that contains the checking and saving
// account information
string AccountNumber = "BNK4566112";
string AccountType = " ";
Object AcctInfoUnionObj = null;
string FillerNotUsedByThisSample = " ";
MyBankObj.GetAInfoOutOnly("111223333", AccountNumber, out AccountType, out AcctInfoUnionObj, out FillerNotUsedByThisSample);
switch (AcctInfoUnionObj.GetType().ToString())
{
// check the type of the union that was returned to determine
// whether the array element
// is a checking or saving account so that the correct
// structure of the union can be used
case "Banking.CHECKING":
Banking.CHECKING ChkInfo = (Banking.CHECKING)AcctInfoUnionObj;
Console.WriteLine("Checking account number: {0}", AccountNumber);
Console.WriteLine("\tOverdraft charge:\t {0,10:C2}", ChkInfo.CHK_OD_CHG);
Console.WriteLine("\tOverdraft limit:\t {0,10:C2}", ChkInfo.CHK_OD_LIMIT);
Console.WriteLine("\tLinked account:\t {0,18}", ChkInfo.CHK_OD_LINK_ACCT);
Console.WriteLine("\tLast Statement:\t {0,18}", ChkInfo.CHK_LAST_STMT);
Console.WriteLine("\tDetail Items:\t {0,18:F0}", ChkInfo.CHK_DETAIL_ITEMS);
Console.WriteLine("\tBalance:\t {0,18:C2}\n", ChkInfo.CHK_BAL);
break;
case "Banking.SAVINGS":
Banking.SAVINGS SavInfo = (Banking.SAVINGS)AcctInfoUnionObj;
Console.WriteLine("Savings account number: {0}", AccountNumber);
Console.WriteLine("\tInterest rate:\t {0,20:P}", SavInfo.SAV_INT_RATE / 100);
Console.WriteLine("\tService charge:\t {0,18:C2}", SavInfo.SAV_SVC_CHRG);
Console.WriteLine("\tLast Statement:\t {0,18}", SavInfo.SAV_LAST_STMT);
Console.WriteLine("\tDetail Items:\t {0,18:F0}", SavInfo.SAV_DETAIL_ITEMS);
Console.WriteLine("\tBalance:\t {0,18:C2}\n", SavInfo.SAV_BAL);
break;
default:
break;
}
}
#endregion Output Only Discriminated Union Processing
}
}
Komentar opsional.