Configurando o Serviço de Publicação da World Wide Web do IIS em um cluster de failover do Windows Server
Este artigo descreve como configurar o W3SVC ( Serviços de Informações da Internet da Microsoft World Wide Web Publishing Service) do Serviços de Informações da Internet da Microsoft (IIS) em um WSFC (cluster de failover do Windows Server).
Versão original do produto: Windows Server 2008 e versões posteriores, Serviços de Informações da Internet 8.0 e versões posteriores
Número KB original: 970759
Introdução
Os procedimentos neste artigo se aplicam somente ao World Wide Web Publishing Service. Para obter instruções sobre como configurar o serviço de Publicação FTP em um cluster de failover, consulte Como configurar o FTP para IIS em um cluster de failover do Windows Server.
Mais informações
Em versões anteriores dos Serviços de Informações da Internet, a Microsoft forneceu componentes genéricos do monitor de recursos para dar suporte a instâncias de servidor Web de alta disponibilidade usando a infraestrutura do Microsoft Clustering. No entanto, o código personalizado era necessário para compreender totalmente o potencial dessa solução. Além disso, os scripts genéricos fornecidos pela Microsoft não atendem às necessidades do cliente. Para configurar o IIS 7.0 ou uma versão posterior em um ambiente clusterizado que usa o clustering de failover do Windows Server, você precisa usar um código personalizado (script) para habilitar um cenário de alta disponibilidade. Quando você faz isso, os usuários podem personalizar a configuração para atender às suas necessidades. que lhes dá controle total sobre a integração de alta disponibilidade de aplicativos Web. Além disso, as interfaces de script para administração e monitoramento que foram introduzidas no IIS 7.0 fornecem um ambiente mais avançado do que os scripts fornecidos anteriormente.
Observação
Os arquivos de instalação do IIS 7.0 incluem incorretamente os arquivos de scriptClusweb.vbse Clusftp.vbs usados no IIS 6.0 para tarefas administrativas de cluster do IIS. Não use esses scripts com o IIS 7.0 ou uma versão posterior.
Recomendamos que os administradores avaliem cuidadosamente o uso do NLB (Balanceamento de Carga de Rede) como o método principal e preferencial para melhorar a escalabilidade e a disponibilidade de aplicativos Web com vários servidores executando o IIS 7.0 ou uma versão posterior, em vez de usar o clustering de failover. Um dos benefícios do NLB é que todos os servidores podem participar ativamente da manipulação simultânea de solicitações HTTP (HyperText Transfer Protocol) de entrada. Outro benefício é que, em um ambiente IIS NLB, pode ser muito mais fácil dar suporte a atualizações sem interrupção e reversões, enquanto ainda fornece alta disponibilidade de aplicativos Web. Para obter mais informações sobre como usar o IIS 7.0 ou uma versão posterior em um ambiente NLB, consulte os seguintes artigos:
É importante considerar que o clustering do IIS por meio do clustering dos serviços do IIS nem sempre garante uma solução de alta disponibilidade para aplicativos Web. Embora os serviços do IIS (especificamente o serviço WWW) possam estar em execução, o processo de hospedagem de um pool de aplicativos específico pode ter terminado ou o aplicativo pode estar gerando erros HTTP internos do servidor. Agrupar os aplicativos Web e monitorar sua integridade usando um script personalizado é a maneira correta e recomendada de obter um cluster IIS de alta disponibilidade usando clustering de failover. Veja abaixo um script de exemplo que monitora o estado de um pool de aplicativos para determinar se ele foi iniciado ou não.
Para configurar a alta disponibilidade para o IIS 7.0 ou um servidor Web de versão posterior usando clustering de failover, siga estas etapas. As etapas 3 a 7 são descritas mais detalhadamente abaixo. O script de exemplo mais adiante neste artigo pode ser usado como um exemplo para o IIS 7.0 ou uma versão posterior.
- Instale a função de Servidor Web em todos os nós de cluster. Para obter detalhes, consulte o Guia de Implantação do IIS 7.
- Instale o recurso de clustering de failover em todos os nós de cluster e crie o cluster. Para obter detalhes, consulte o Guia de Implantação de Cluster de Failover.
- Configure um compartilhamento de arquivos que será usado para a configuração compartilhada do IIS.
- Configure a configuração compartilhada do IIS em todos os nós de cluster.
- Configure arquivos offline do IIS para configuração compartilhada em todos os nós de cluster.
- Configure o site (incluindo o pool de aplicativos associado) e especifique o local de seu conteúdo em um nó de cluster.
- Configure a alta disponibilidade para seu site criando um script genérico no clustering de failover.
Configurar um compartilhamento de arquivos que será usado para a configuração compartilhada do IIS
- Crie um usuário que acessará o compartilhamento que será usado para a configuração compartilhada do IIS.
- Crie o compartilhamento de arquivos. Esse compartilhamento será usado para armazenar a configuração compartilhada do IIS que será compartilhada entre o IIS em todos os nós de cluster. Há várias opções:
- Em um servidor autônomo que não faz parte de nenhum cluster de failover, crie um compartilhamento de arquivos.
- Em outro cluster de failover do Windows Server, crie um compartilhamento de arquivos de alta disponibilidade. Para obter detalhes, visite o Guia passo a passo do cluster de failover: configurando um cluster de failover Two-Node servidor de arquivos.
- No mesmo cluster de failover que hospedará o site de alta disponibilidade, crie um compartilhamento de arquivos de alta disponibilidade. Para obter detalhes, consulte o Guia passo a passo do cluster de failover: configurando um cluster de failover Two-Node servidor de arquivos.
- Defina as permissões no compartilhamento que você criou na etapa 2. Dê ao usuário que você criou na etapa 1 permissões de Controle Total para o compartilhamento de arquivos e permissões NTFS.
- Confirme se todos os nós de cluster podem navegar até o compartilhamento de arquivos. O caminho para o compartilhamento de arquivos é
\\<fileserver>\<share>
.
Configurar a configuração compartilhada do IIS em todos os nós de cluster
Observação
Há um problema com a configuração compartilhada do IIS no Windows 2008 Server devido a privilégios ausentes para o Application Host Helper Service
. Para que a configuração compartilhada funcione, você deve seguir estas etapas ao definir a configuração compartilhada do IIS no Windows 2008 Server.
Abra um prompt de comando administrativo.
Execute o seguinte comando:
net stop apphostsvc
Execute o seguinte comando:
sc privs apphostsvc SeChangeNotifyPrivilege/SeTcbPrivilege/SeImpersonatePrivilege
Execute o seguinte comando:
net start apphostsvc
Depois de concluir essas etapas em cada Servidor do Windows 2008 no cluster, continue definindo a configuração compartilhada do IIS, conforme descrito nesta seção.
Em um dos nós de cluster, exporte a configuração compartilhada para o compartilhamento de arquivos:
- Navegue até Ferramentas Administrativas e selecione o Gerenciador dos Serviços de Informações da Internet (IIS).
- No painel esquerdo, selecione o nó de nome do servidor.
- Clique duas vezes no ícone configuração compartilhada .
- Na página Configuração Compartilhada, selecione Exportar Configuração no painel Ações (o painel direito) para exportar os arquivos de configuração do computador local para outro local.
- Na caixa de diálogo Exportar Configuração , digite o caminho do compartilhamento de arquivos (
\\<fileserver>\<share>
) na caixa Caminho físico. - Selecione Conectar como e digite o nome de usuário e a senha da conta de usuário que tem acesso ao compartilhamento no qual a configuração compartilhada está armazenada e, em seguida, selecione OK. Essa conta será usada para acessar o compartilhamento. Você deve usar uma conta restrita do Active Directory que não seja o administrador de domínio.
- Na caixa de diálogo Exportar Configuração , digite uma senha que será usada para proteger as chaves de criptografia e selecione OK.
- Na página Configuração Compartilhada , marque a caixa de seleção Habilitar configuração compartilhada.
- Digite o caminho físico, a conta de usuário e a senha que você inseriu anteriormente e selecione Aplicar no painel Ações.
- Na caixa de diálogo Senha de Chaves de Criptografia, digite a senha da chave de criptografia que você definiu anteriormente e selecione OK.
- Na caixa de diálogo Configuração Compartilhada, selecione OK.
- Selecione OK.
Em cada um dos outros nós de cluster, use a configuração compartilhada que você acabou de exportar para o compartilhamento de arquivos:
- Navegue até Ferramentas Administrativas e selecione o Gerenciador dos Serviços de Informações da Internet (IIS).
- Selecione o nó de nome do servidor.
- Clique duas vezes no ícone configuração compartilhada .
- Na página Configuração Compartilhada , marque a caixa de seleção Habilitar configuração compartilhada.
- Digite o caminho físico do compartilhamento de arquivos (
\\<fileserver>\<share>
), a conta de usuário e a senha que você inseriu anteriormente e selecione Aplicar no painel Ações. - Na caixa de diálogo Senha de Chaves de Criptografia, digite a senha da chave de criptografia que você definiu anteriormente e selecione OK.
- Na caixa de diálogo Configuração Compartilhada, selecione OK.
- Selecione OK.
Observação
Para obter mais informações sobre como configurar configurações compartilhadas no IIS, visite Configuração Compartilhada.
Configurar Arquivos Offline do IIS para configuração compartilhada em todos os nós de cluster
Em cada nó de cluster, habilite Arquivos Offline:
Instalar a Experiência Desktop
- Navegue até Ferramentas Administrativas e selecione Gerenciador do Servidor.
- No painel esquerdo, selecione Recursos.
- Selecione Adicionar Recursos no painel direito.
- Siga um dos procedimentos a seguir, conforme apropriado para sua versão do Windows:
- Por Windows Server 2016, visite Instalar Servidor com Experiência Desktop.
- Para o Windows Server 2102 e 2012 R2, escolha Experiência Desktop em Interfaces do Usuário e Infraestruturas na lista de recursos.
- Para o Windows Server 2008 e 2008 R2, escolha Experiência Desktop.
- Selecione Instalar para instalar a Experiência Desktop.
- Reinicie o computador.
Siga um destes procedimentos:
- Por Windows Server 2012, 2012 R2 e 2016, selecione a Central de Sincronização no Painel de Controle e, em seguida, selecione Gerenciar arquivos offline.
- Para o Windows Server 2008 e 2008 R2, selecione Arquivos Offline Painel de Controle.
Selecione Habilitar Arquivos Offline. Não reinicie o computador no momento.
Verifique se o cache está definido como somente leitura. Para fazer isso, execute o seguinte comando em um prompt de cmd com privilégios elevados:
REG ADD "HKLM\System\CurrentControlSet\Services\CSC\Parameters" /v ReadOnlyCache /t REG_DWORD /d 1 /f
Reinicie o computador.
Navegue até o servidor de arquivos do computador. Clique com o botão direito do mouse no compartilhamento que contém a configuração compartilhada do IIS e selecione Sempre Disponível Offline.
Observação
Se você configurar o compartilhamento de arquivos para estar altamente disponível no mesmo cluster de failover que hospeda nós do IIS, a opção Offline Sempre Disponível não aparecerá quando você clicar com o botão direito do mouse no compartilhamento se o nó de cluster em que você está hospedando o servidor de arquivos altamente disponível. Você precisará mover o aplicativo de servidor de arquivos de alta disponibilidade para outro nó.
No Painel de Controle, abra Arquivos Offline. Selecione Abrir Central de Sincronização e, em seguida, selecione Agendar.
Agende uma sincronização de arquivos offline para todos os dias ou de acordo com seus requisitos. Você também pode configurar a sincronização offline para ser executada a cada poucos minutos. Mesmo que você não configure um agendador, quando você altera algo no arquivo Applicationhost.config, a alteração é refletida no servidor Web.
Observação
Para obter mais informações sobre como configurar arquivos offline para uma configuração compartilhada no IIS, consulte Arquivos Offline para Configuração Compartilhada.
Configurar o site e especificar o local de seu conteúdo em um nó de cluster
Localize o nó de cluster que possui o recurso de disco de cluster onde os arquivos de conteúdo do site permanecerão:
- Navegue até Ferramentas Administrativas e selecione Gerenciador de Cluster de Failover.
- Conecte-se ao cluster. Se você estiver em um dos nós de cluster, o cluster aparecerá na lista automaticamente.
- Em Armazenamento, localize o recurso de disco no qual o conteúdo da página da Web residirá. Para fazer isso, expanda a árvore de armazenamento para o recurso de disco. Verifique se o armazenamento não é usado por nenhum outro aplicativo de alta disponibilidade no cluster. Você encontrará o armazenamento em Armazenamento Disponível.
- O nó de cluster no qual esse recurso está online. Você configurará o IIS nesse nó de cluster.
- O nome do recurso de disco de cluster.
Você usará isso para os arquivos de conteúdo. No nó de cluster no qual o recurso está online, configure o servidor Web para usar o disco compartilhado para conteúdo do site:
- Navegue até Ferramentas Administrativas e selecione o Gerenciador dos Serviços de Informações da Internet (IIS).
- No painel esquerdo, expanda o nó de nome do servidor.
- Expanda Sites e, em Sites, selecione o site que você está configurando.
- No painel direito, selecione Configurações Avançadas emGerenciar Site.
- Localize a propriedade Caminho Físico em Configurações Gerais e digite o local onde os arquivos de conteúdo do site estão localizados. É o local do recurso de disco de cluster que você anoembrou na etapa 5 do procedimento anterior.
- Selecione OK.
Configurar a alta disponibilidade para seu site criando um script genérico no Gerenciador de Cluster de Failover
Para a última etapa para configurar a alta disponibilidade para servidores Web do IIS, configure o recurso de script genérico que será usado para monitorar o site e o pool de aplicativos para o site:
Em cada nó de cluster, copie o script fornecido no final deste artigo para
Windows\System32\inetsrv\Clusweb7.vbs
.Por padrão, o script monitora um site chamado Site Padrão e um pool de aplicativos chamado DefaultAppPool. Se esses não forem o site e o pool de aplicativos corretos, altere as
SITE_NAME and APP_POOL_NAME
variáveis. Verifique se o mesmo site e pool de aplicativos no script existem em todos os nós de cluster.Observação
Os nomes diferenciam maiúsculas de minúsculas.
Navegue até Ferramentas Administrativas e selecione Gerenciador de Cluster de Failover.
Conecte-se ao cluster. Se você estiver em um dos nós de cluster, o cluster aparecerá na lista automaticamente.
Siga um destes procedimentos:
- Por Windows Server 2012, 2012 R2 e 2016, clique com o botão direito do mouse em Funções e selecione Configurar Função para criar.
- Para o Windows Server 2008 e 2008 R2, clique com o botão direito do mouse no cluster e selecione Configurar um Serviço ou Aplicativo. Um assistente cria a carga de trabalho de alta disponibilidade.
Selecione Script Genérico.
Selecione o arquivo de script de
%systemroot%\System32\Inetsrv\clusweb7.vbs
.Defina o nome do PONTO de Acesso do Cliente (CAP) para o nome do site que os clientes usarão para se conectar ao site de alta disponibilidade. Especifique os IPs estáticos a serem usado para o CAP do site. Se você estiver usando o protocolo DHCP, essa opção não será exibida.
Na etapa Selecionar Armazenamento , selecione o disco compartilhado do cluster no qual estão os arquivos de conteúdo do site. O armazenamento deve ser não usado por qualquer outro aplicativo de alta disponibilidade no cluster.
Observação
Se o compartilhamento de arquivos usado para a configuração compartilhada do IIS estiver hospedado no mesmo cluster, um recurso de disco diferente deverá ser usado aqui.
Depois de confirmar as configurações, o assistente criará o grupo de clusters, os recursos de cluster e as dependências entre os recursos e colocará os recursos online.
Observação
Para hospedar vários sites de alta disponibilidade no mesmo cluster de failover, siga as mesmas etapas acima. No entanto, use um arquivo de script diferente para cada site e armazenamento compartilhado clusterizado diferente. Por exemplo, em
%systemroot%\System32\Inetsrv
, use clusweb7.vbs para o primeiro site,clweb7-2.vbs para o segundo,clweb7-3.vbs para o terceiro e assim por diante. Cada arquivo de script monitora um site e pool de aplicativos diferentes.
O script a seguir é apenas para fins de exemplo e não tem suporte explícito da Microsoft. O uso desse script em um ambiente clusterizado do IIS 7.0 ou versão posterior é por sua conta e risco.
'<begin script sample>
'This script provides high availability for IIS websites
'By default, it monitors the "Default Web Site" and "DefaultAppPool"
'To monitor another website, change the SITE_NAME below
'To monitor another application pool, change the APP_POOL_NAME below
'More thorough and application-specific health monitoring logic can be added to the script if needed
Option Explicit
DIM SITE_NAME
DIM APP_POOL_NAME
Dim START_WEB_SITE
Dim START_APP_POOL
Dim SITES_SECTION_NAME
Dim APPLICATION_POOLS_SECTION_NAME
Dim CONFIG_APPHOST_ROOT
Dim STOP_WEB_SITE
'Note:
'Replace this with the site and application pool you want to configure high availability for
'Make sure that the same website and application pool in the script exist on all cluster nodes. Note that the names are case-sensitive.
SITE_NAME = "Default Web Site"
APP_POOL_NAME = "DefaultAppPool"
START_WEB_SITE = 0
START_APP_POOL = 0
STOP_WEB_SITE = 1
SITES_SECTION_NAME = "system.applicationHost/sites"
APPLICATION_POOLS_SECTION_NAME = "system.applicationHost/applicationPools"
CONFIG_APPHOST_ROOT = "MACHINE/WEBROOT/APPHOST"
'Helper script functions
'Find the index of the website on this node
Function FindSiteIndex(collection, siteName)
Dim i
FindSiteIndex = -1
For i = 0 To (CInt(collection.Count) - 1)
If collection.Item(i).GetPropertyByName("name").Value = siteName Then
FindSiteIndex = i
Exit For
End If
Next
End Function
'Find the index of the application pool on this node
Function FindAppPoolIndex(collection, appPoolName)
Dim i
FindAppPoolIndex = -1
For i = 0 To (CInt(collection.Count) - 1)
If collection.Item(i).GetPropertyByName("name").Value = appPoolName Then
FindAppPoolIndex = i
Exit For
End If
Next
End Function
'Get the state of the website
Function GetWebSiteState(adminManager, siteName)
Dim sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethod
Set sitesSection = adminManager.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)
Set sitesSectionCollection = sitesSection.Collection
index = FindSiteIndex(sitesSectionCollection, siteName)
If index = -1 Then
GetWebSiteState = -1
End If
Set siteSection = sitesSectionCollection(index)
GetWebSiteState = siteSection.GetPropertyByName("state").Value
End Function
'Get the state of the ApplicationPool
Function GetAppPoolState(adminManager, appPool)
Dim configSection, index, appPoolState
set configSection = adminManager.GetAdminSection(APPLICATION_POOLS_SECTION_NAME, CONFIG_APPHOST_ROOT)
index = FindAppPoolIndex(configSection.Collection, appPool)
If index = -1 Then
GetAppPoolState = -1
End If
GetAppPoolState = configSection.Collection.Item(index).GetPropertyByName("state").Value
End Function
'Start the w3svc service on this node
Function StartW3SVC()
Dim objWmiProvider
Dim objService
Dim strServiceState
Dim response
'Check to see if the service is running
set objWmiProvider = GetObject("winmgmts:/root/cimv2")
set objService = objWmiProvider.get("win32_service='w3svc'")
strServiceState = objService.state
If ucase(strServiceState) = "RUNNING" Then
StartW3SVC = True
Else
'If the service is not running, try to start it
response = objService.StartService()
'response = 0 or 10 indicates that the request to start was accepted
If ( response <> 0 ) and ( response <> 10 ) Then
StartW3SVC = False
Else
StartW3SVC = True
End If
End If
End Function
'Start the application pool for the website
Function StartAppPool()
Dim ahwriter, appPoolsSection, appPoolsCollection, index, appPool, appPoolMethods, startMethod, callStartMethod
Set ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
Set appPoolsSection = ahwriter.GetAdminSection(APPLICATION_POOLS_SECTION_NAME, CONFIG_APPHOST_ROOT)
Set appPoolsCollection = appPoolsSection.Collection
index = FindAppPoolIndex(appPoolsCollection, APP_POOL_NAME)
Set appPool = appPoolsCollection.Item(index)
'See if it is already started
If appPool.GetPropertyByName("state").Value = 1 Then
StartAppPool = True
Exit Function
End If
'Try To start the application pool
Set appPoolMethods = appPool.Methods
Set startMethod = appPoolMethods.Item(START_APP_POOL)
Set callStartMethod = startMethod.CreateInstance()
callStartMethod.Execute()
'If started return true, otherwise return false
If appPool.GetPropertyByName("state").Value = 1 Then
StartAppPool = True
Else
StartAppPool = False
End If
End Function
'Start the website
Function StartWebSite()
Dim ahwriter, sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethod
Set ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
Set sitesSection = ahwriter.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)
Set sitesSectionCollection = sitesSection.Collection
index = FindSiteIndex(sitesSectionCollection, SITE_NAME)
Set siteSection = sitesSectionCollection(index)
if siteSection.GetPropertyByName("state").Value = 1 Then
'Site is already started
StartWebSite = True
Exit Function
End If
'Try to start site
Set siteMethods = siteSection.Methods
Set startMethod = siteMethods.Item(START_WEB_SITE)
Set executeMethod = startMethod.CreateInstance()
executeMethod.Execute()
'Check to see if the site started, if not return false
If siteSection.GetPropertyByName("state").Value = 1 Then
StartWebSite = True
Else
StartWebSite = False
End If
End Function
'Stop the website
Function StopWebSite()
Dim ahwriter, sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethod, autoStartProperty
Set ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
Set sitesSection = ahwriter.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)
Set sitesSectionCollection = sitesSection.Collection
index = FindSiteIndex(sitesSectionCollection, SITE_NAME)
Set siteSection = sitesSectionCollection(index)
'Stop the site
Set siteMethods = siteSection.Methods
Set startMethod = siteMethods.Item(STOP_WEB_SITE)
Set executeMethod = startMethod.CreateInstance()
executeMethod.Execute()
End Function
'Cluster resource entry points. More details here:
'http://msdn.microsoft.com/en-us/library/aa372846(VS.85).aspx
'Cluster resource Online entry point
'Make sure the website and the application pool are started
Function Online( )
Dim bOnline
'Make sure w3svc is started
bOnline = StartW3SVC()
If bOnline <> True Then
Resource.LogInformation "The resource failed to come online because w3svc could not be started."
Online = False
Exit Function
End If
'Make sure the application pool is started
bOnline = StartAppPool()
If bOnline <> True Then
Resource.LogInformation "The resource failed to come online because the application pool could not be started."
Online = False
Exit Function
End If
'Make sure the website is started
bOnline = StartWebSite()
If bOnline <> True Then
Resource.LogInformation "The resource failed to come online because the web site could not be started."
Online = False
Exit Function
End If
Online = true
End Function
'Cluster resource offline entry point
'Stop the website
Function Offline( )
StopWebSite()
Offline = true
End Function
'Cluster resource LooksAlive entry point
'Check for the health of the website and the application pool
Function LooksAlive( )
Dim adminManager, appPoolState, configSection, i, appPoolName, appPool, index
i = 0
Set adminManager = CreateObject("Microsoft.ApplicationHost.AdminManager")
appPoolState = -1
'Get the state of the website
if GetWebSiteState(adminManager, SITE_NAME) <> 1 Then
Resource.LogInformation "The resource failed because the " & SITE_NAME & " web site is not started."
LooksAlive = false
Exit Function
End If
'Get the state of the Application Pool
if GetAppPoolState(adminManager, APP_POOL_NAME) <> 1 Then
Resource.LogInformation "The resource failed because Application Pool " & APP_POOL_NAME & " is not started."
LooksAlive = false
Exit Function
End if
'Web site and Application Pool state are valid return true
LooksAlive = true
End Function
'Cluster resource IsAlive entry point
'Do the same health checks as LooksAlive
'If a more thorough than what we do in LooksAlive is required, this should be performed here
Function IsAlive()
IsAlive = LooksAlive
End Function
'Cluster resource Open entry point
Function Open()
Open = true
End Function
'Cluster resource Close entry point
Function Close()
Close = true
End Function
'Cluster resource Terminate entry point
Function Terminate()
Terminate = true
End Function
'<end script sample>
Comentários
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submeter e ver comentários