Partilhar via


Protocolo de notificação para aplicativos de servidor

O BITS usa a propriedade BITSServerNotificationType para determinar como o BITS envia o conteúdo do arquivo de carregamento para o aplicativo do servidor. Se a propriedade BITSServerNotificationType estiver definida como 1, o BITS passará o local do arquivo de carregamento em um cabeçalho. Se a propriedade BITSServerNotificationType estiver definida como 2, o BITS passará o conteúdo do arquivo de carregamento no corpo da solicitação.

Para obter detalhes sobre como o BITS manipula erros do aplicativo do servidor, consulte Manipulando erros do aplicativo do servidor.

Enviando o local do arquivo de upload em um cabeçalho

O BITS passa o local dos arquivos de upload e resposta para o aplicativo de servidor nos cabeçalhos se a propriedade BITSServerNotificationType estiver definida como 1. O aplicativo de servidor abre o arquivo de carregamento, processa os dados e gera o arquivo de resposta. Por padrão, o BITS remove os arquivos de upload e resposta do servidor depois que ele recebe a resposta do aplicativo do servidor. Para que o BITS copie o arquivo de carregamento para o local especificado pelo nome do arquivo remoto no trabalho, inclua o cabeçalho BITS-Copy-File-To-Destination em sua resposta. Se você não incluir o cabeçalho e quiser salvar os arquivos de upload e resposta, copie os arquivos de upload e resposta para um novo local antes de responder. A tabela a seguir mostra os cabeçalhos de solicitação.

Cabeçalho da solicitação Descrição
BITS-Original-Request-URL Contém o nome remoto especificado no trabalho.
BITS-Request-DataFile-Name Contém o caminho completo para os dados carregados.
BITS-Response-DataFile-Name Contém o caminho completo para onde o BITS espera que o aplicativo do servidor grave a resposta.

A tabela a seguir mostra os cabeçalhos de resposta.

Cabeçalho de resposta Descrição
BITS-Static-Response-URL Opcional. Contém a URL absoluta (não especifique uma URL relativa) para um arquivo de dados estático a ser usado como resposta. O arquivo de dados estáticos deve ser acessível pelo cliente BITS. Se você usar esse cabeçalho, não crie o arquivo de resposta especificado no cabeçalho da solicitação BITS-Response-DataFile-Name. Observe que o BITS não exclui esse arquivo para você.
BITS-Copy-File-To-Destination Opcional. Por padrão, se a propriedade BITSServerNotificationType estiver definida como 1 ou 2, o servidor BITS não copiará o arquivo de carregamento para o local especificado pelo nome do arquivo remoto no trabalho. Para que o BITS copie o arquivo para o local especificado pelo nome do arquivo remoto no trabalho, envie esse cabeçalho de resposta. Você pode especificar qualquer valor; O BITS não usa o valor. Observe que as pastas no caminho do arquivo remoto devem existir.

A solicitação a seguir mostra o BITS enviando o local do arquivo de carregamento para o aplicativo do servidor.

POST https://myserver/myvdir/handle_upload.asp?ACCOUNT=873112 HTTP/1.1
Host: myserver
BITS-Original-Request-URL: https://front-end-server/vdir
BITS-Request-DataFile-Name: c:\physical-path\BITS-Sessions\{5e53c221-f2d6-4bf2-
b994-1dc43ceaca8d}\request
BITS-Response-DataFile-Name: c:\physical-path\BITS-Sessions\{5e53c221-f2d6-4bf2-
b994-1dc43ceaca8d}\response
Content-Length: 0

A seguir é mostrada a resposta do aplicativo de servidor ao BITS; a resposta é colocada no arquivo especificado pelo cabeçalho da solicitação BITS-Response-DataFile-Name.

HTTP/1.1 200 - OK
Content-Length: 0

Enviando o arquivo de upload no corpo da solicitação

O BITS envia o arquivo de carregamento no corpo da solicitação se a propriedade BITSServerNotificationType estiver definida como 2. O envio do arquivo de upload no corpo da solicitação permite que scripts e aplicativos existentes funcionem com o mínimo de modificações. O arquivo de upload e o arquivo de resposta são passados na solicitação e na resposta, respectivamente. A tabela a seguir mostra o cabeçalho da solicitação.

Cabeçalho da solicitação Descrição
BITS-Original-Request-URL Contém o nome remoto especificado no trabalho.

A tabela a seguir mostra os cabeçalhos de resposta.

Cabeçalho de resposta Descrição
BITS-Static-Response-URL Opcional. Contém a URL absoluta (não especifique uma URL relativa) para um arquivo de dados estático a ser usado como resposta. O arquivo de dados estáticos deve ser acessível pelo cliente BITS. Se você usar esse cabeçalho, não inclua a resposta no fluxo. Observe que o BITS não exclui esse arquivo para você.
BITS-Copy-File-To-Destination Opcional. Se a propriedade BITSServerNotificationType estiver definida como 1 ou 2, o servidor BITS não copiará o arquivo de carregamento para o local especificado pelo nome do arquivo remoto no trabalho. Para que o BITS copie o arquivo para o local especificado pelo nome do arquivo remoto, envie esse cabeçalho de resposta. Você pode especificar qualquer valor; O BITS não usa o valor. Observe que as pastas no caminho do arquivo remoto devem existir.

A solicitação a seguir mostra o BITS passando o arquivo carregado para o aplicativo de servidor no corpo da solicitação.

POST https://myserver/myvdir/handle_upload.asp?ACCOUNT=873112 HTTP/1.1
Host: myserver
BITS-Original-Request-URL: https://front-end-server/vdir
Content-Length: 80000

80000 bytes of upload data goes here

A resposta a seguir mostra o aplicativo de servidor passando os dados de resposta para o BITS no corpo da resposta.

HTTP/1.1 200 - OK
Content-Length: 100

100 bytes of reply data goes here

Manipulando erros de aplicativo do servidor

Consulte Manipulando erros de aplicativo do servidor.