Существует ли способ автоматизировать превращение BizTalk, Получают Местоположение на или прочь через код?

Попытайтесь печатать слышимый символ звонковой сигнализации:

print "\a"
6
задан Andrew Dunaway 4 October 2009 в 01:09
поделиться

2 ответа

Помимо ExplorerOM, как вы узнали, вы также можете включать / отключать места приема (и управлять портами отправки) с помощью WMI .

У меня есть образец сценария PowerShell, который показывает, как это сделать здесь , если вам интересно.

9
ответ дан 9 December 2019 в 20:46
поделиться

Я нашел решение. Похоже, что Microsoft.BizTalk.ExplorerOM.dll - это то, что я хотел. Вот отрывок из документации BizTalk, который должен побудить кого угодно начать:

using System;
using Microsoft.BizTalk.ExplorerOM;
public static void EnumerateOrchestrationArtifacts()
{
    // Connect to the local BizTalk Management database
    BtsCatalogExplorer catalog = new BtsCatalogExplorer();
    catalog.ConnectionString = "Server=.;Initial Catalog=BizTalkMgmtDb;Integrated Security=SSPI;";

    // Enumerate all orchestrations and their ports/roles
    Console.WriteLine("ORCHESTRATIONS: ");
    foreach(BtsAssembly assembly in catalog.Assemblies)
    {
        foreach(BtsOrchestration orch in assembly.Orchestrations)
        {

            Console.WriteLine(" Name:{0}\r\n Host:{1}\r\n Status:{2}",
                orch.FullName, orch.Host.Name, orch.Status);

            // Enumerate ports and operations
            foreach(OrchestrationPort port in orch.Ports)
            {
                Console.WriteLine("\t{0} ({1})", 
                    port.Name, port.PortType.FullName);

                foreach(PortTypeOperation operation in port.PortType.Operations)
                {
                    Console.WriteLine("\t\t" + operation.Name);
                }
            }

            // Enumerate used roles
            foreach(Role role in orch.UsedRoles)
            {
                Console.WriteLine("\t{0} ({1})", 
                    role.Name, role.ServiceLinkType);

                foreach(EnlistedParty enlistedparty in role.EnlistedParties)
                {
                    Console.WriteLine("\t\t" + enlistedparty.Party.Name);
                }
            }

            // Enumerate implemented roles
            foreach(Role role in orch.ImplementedRoles)
            {
                Console.WriteLine("\t{0} ({1})", 
                    role.Name, role.ServiceLinkType);
            }
        }
    }
}

Одно предостережение, очевидно, эта dll не поддерживает 64-разрядную версию. Поскольку я пишу только простую утилиту, для меня это не имеет большого значения (просто компилируется как 32-разрядная версия), но об этом следует знать.

2
ответ дан 9 December 2019 в 20:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: