Pergunta

Então, o problema é metade do aplicativo é escrito em asp clássico e metade está em asp.net. Há um arquivo PDF (em memória) que é gerado pelo código asp clássico que eu preciso compartilhar com o .NET metade. Pensei em salvar o PDF ao FS ou DB, que eu tenho certeza que a maioria de vocês não recomendaria porque ele precisaria passar por um processo muito lento de salvar a IO, e então eu precisaria-se manualmente limpa depois - criando desnecessariamente mais gargalos e pontos de falha.

Eu pensei de imitar um post na página asp clássico para .NET usando objetos Server.Transfer ou Microsoft.XMLHTTP, mas também não se encaixa exatamente o cenário que eu realmente quero a URL no lado do cliente a ser apontando para o aspx .NET. Então, há uma maneira simples de fabricar um POST do ASP clássico para uma página .NET com um arquivo PDF incorporado?

Agradecemos antecipadamente para quaisquer comentários ou sugestões.

Foi útil?

Solução

Um pouco de um truque, mas ...

Criar um formulário no ASP clássico com um campo que você preencher com os dados a partir do arquivo PDF. A ação da forma seria a página ASP.NET. Algo como:

<body onload="pdfsenderform.submit()">
    <form name="pdfsenderform" action="pdf.aspx" method="post">
       <input type="hidden" name="pdffiledata" value="<%...output your PDF data here...%>" />
   </form>
</body>

Você pode precisar para codificar os dados PDF binários antes de escrevê-lo para o campo de formulário (Base64 ou algo assim).

Outras dicas

Sua melhor aposta é provavelmente o FS ou DB considerando as dificuldades ASP.NET e interação ASP. Esse é o meu "caminho de menor resistência".

Basta escrever no disco, guarde o nome do arquivo em um cookie ou querystring, e Response.Redirect o usuário. É provável que seja "rápido o suficiente" e muito mais fácil do que escrever um mínimo denominador comum Estado servidor acessível através de TCP para os dois - que é a única na memória maneira de fazer que eu posso pensar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top