Udostępnij za pośrednictwem


Dojścia powiązań automatycznych

Automatyczne dojścia powiązań są przydatne, gdy aplikacja nie wymaga określonego serwera i gdy nie musi utrzymywać żadnych informacji o stanie między klientem a serwerem. W przypadku korzystania z dojścia automatycznego powiązania nie trzeba pisać kodu aplikacji klienckiej w celu obsługi powiązań i obsługi — wystarczy po prostu określić użycie automatycznego dojścia powiązania w pliku konfiguracji aplikacji (ACF). Następnie wycinkę definiuje uchwyt i zarządza powiązaniem.

Na przykład można zaimplementować operację sygnatury czasowej przy użyciu dojścia automatycznego. Nie ma różnicy w aplikacji klienckiej, która serwer udostępnia go sygnaturą czasową, ponieważ może zaakceptować czas z dowolnego dostępnego serwera.

Nuta

Automatyczne dojścia nie są obsługiwane dla platformy Macintosh.

 

Należy określić użycie automatycznych dojść przez dołączenie atrybutu [auto_handle] w usłudze ACF. Przykład sygnatury czasowej używa następującej usługi ACF:

/* ACF file */
[
  auto_handle
]
interface autoh
{
}

Jeśli program ACF nie zawiera żadnego innego atrybutu dojścia, a procedury zdalne nie używają jawnych dojść, kompilator MIDL domyślnie używa automatycznych dojść. Używa również automatycznych dojść jako domyślnych, gdy ACF nie jest obecny.

Procedury zdalne są określone w pliku IDL. Automatyczne dojście nie może być wyświetlane jako argument procedury zdalnej. Na przykład:

/* IDL file */
[ 
  uuid (6B29FC40-CA47-1067-B31D-00DD010662DA),
  version(1.0),
  pointer_default(unique)
]
interface autoh
{
  void GetTime([out] long * time);
  void Shutdown(void);
}

Zaletą automatycznego uchwytu jest to, że deweloper nie musi pisać żadnego kodu w celu zarządzania dojściem; wycinki automatycznie zarządzają powiązaniem. Znacznie różni się to od Hello, world przykład, gdzie klient zarządza niejawnym dojściem pierwotnym zdefiniowanym w usłudze ACF i musi wywołać kilka funkcji czasu wykonywania, aby ustanowić uchwyt powiązania.