P: Por que o valor RecordCount do meu conjunto de registros sempre retorna -1?
Resposta: Você deve usar este modo para abrir o conjunto de registros para acessar o banco de dados:
rec.openstrSQL,conn,1,1
Entre eles, strSQL é a instrução SQL para operar o banco de dados; conn é a variável de conexão para conectar-se ao banco de dados;
Pergunta: Escrevi muitos comentários no script ASP. Isso afetará a velocidade do servidor que processa arquivos ASP?
Resposta: Após testes por pessoal técnico estrangeiro, o desempenho geral dos arquivos ASP com muitos comentários diminuirá apenas 0,1%, o que significa que basicamente não afetará o desempenho do servidor.
P: Preciso usá-lo no início de cada arquivo ASP?
Resposta: Se a linguagem de script que você está usando for VBScript, tente não usar esta declaração, caso contrário o desempenho geral do programa será reduzido em quase 1,2%. No entanto, se você não estiver usando a linguagem VBScript, use esta declaração.
P: Preciso usar OptionExplicit em todos os arquivos ASP?
Resposta: É melhor você fazer isso, porque isso pode minimizar a chance de erros no seu programa e melhorar o desempenho geral em quase 9,8%.
Pergunta: Quais são os novos recursos do ASP3.0 que apareceram recentemente com o IIS5.0?
Resposta: Na verdade, não há novas alterações, mas dois novos métodos do objeto Servidor foram adicionados:
Server.Transfer e Server.Excute, e um novo objeto ASPError. Para obter instruções de uso específicas, consulte o site da Microsoft www.microsoft.com
Pergunta: Por que recebo erros ao usar Response.Redirect?
Resposta: O motivo mais comum é que você modificou o cabeçalho HTTP depois de escrever a página. A solução é escrever no início da página.
Pergunta: Parece que o método Redirect só pode redirecionar para o mesmo quadro. Pode ser redirecionado para outros quadros?
Answer: Sim, você precisa adicionar isto:. Então, quando você usa
Ao chamar o método Redirect, ele será redirecionado para o quadro denominado FrameName.
Pergunta: Por que muitas vezes as sessões aparecem perdidas nas páginas ASP das novas janelas que abro usando o método Window.open()?
Resposta: Essa situação ocorre frequentemente no IE4.x da Microsoft, mas esse erro foi resolvido no IE5.x. Portanto, para ser compatível com todos os navegadores, você pode usar métodos como test.asp?name=xxx para passar parâmetros entre janelas. Este efeito é melhor. use-o. Passe-o em texto não criptografado, caso contrário, isso levará facilmente a problemas de segurança.
Pergunta: Muitas vezes é visto que existem duas maneiras de se conectar ao banco de dados, DSN e DSN-LESS. O que elas significam? Existe alguma diferença?
Resposta: DSN é a abreviatura de DataSourceName em inglês. O método DSN é o método de conexão da fonte de dados. Esta fonte de dados pode ser definida em ODBCDataSources no painel de controle e usada assim:
Conn.OpenDSN=Teste;UID=Admin;PWD=;
O Teste é o nome da fonte de dados que você mesmo definiu. Observe que você deve usar UID e PWD ao mesmo tempo, caso contrário ocorrerá um erro.
Da mesma forma, DSN-LESS é um método de conexão sem fonte de dados. O método de uso é:
Conn.OpenDriver={MicrosoftAccessDriver
(*.mdb)};Dbq=/somepath/mydb.mdb;Uid=Admin;Pwd=;
No mesmo ambiente de hardware, o método DSN-LESS tem desempenho superior ao método DSN. No entanto, uma vez que o código-fonte ASP seja vazado por outros devido a certos problemas de segurança, a conta e a senha do banco de dados serão vazadas, portanto, esses dois métodos existem. são prós e contras.
Descrição: Existe alguma diferença entre usar o método AddNew do ADO em ASP e usar diretamente a instrução Insertinto...? Qual caminho é melhor?
Resposta: O método AddNew do ADO encapsula apenas a instrução Insertinto. Portanto, ao operar em uma grande quantidade de dados, o uso direto de instruções SQL irá acelerar bastante o acesso aos dados porque reduz o tempo de tradução do ADO. Embora as instruções SQL não sejam tão fáceis de aceitar quanto AddNew e outras instruções, é muito importante aprender algumas instruções SQL comumente usadas na programação de banco de dados.
Descrição: Por que ocorre um erro quando insiro esta frase (Vamos agora!) no banco de dados?
Resposta: Como a maioria dos bancos de dados (Access, MSSQLServer) usa aspas simples como delimitadores, você não pode inserir aspas simples diretamente no banco de dados. Você deve substituir cada aspas simples antes de executar a instrução SQL:
MyData=Replace(MyData,','',1) Depois, basta salvá-lo no banco de dados
1. Pergunta: ASP é uma linguagem de programação?
Resposta: ASP não é uma linguagem de programação, mas um ambiente de desenvolvimento. ASP fornece um ambiente para execução de instruções no lado do servidor. Ele usa símbolos especiais () para distinguir o HTML dos comandos que devem ser traduzidos pelo servidor antes de serem enviados ao cliente. As instruções que ele pode executar incluem linguagem HTML, MicrosoftVBScript e MicrosoftJscript, etc., para que possa criar aplicativos da web poderosos.
2. Pergunta: O PWS pode ser usado para hospedar vários sites da Web em um servidor da Web?
Resposta: Apenas um site pode ser acomodado no PWS. Para hospedar vários sites no mesmo computador, você precisa usar o Windows NT Server ou o Windows 2000 Server/Professional e o IIS.
3. Pergunta: Como usar os 6 objetos ASP integrados?
Resposta: ASP fornece vários objetos incorporados, que podem ser acessados diretamente e usados em instruções sem criá-los. Esses seis objetos incluem principalmente: objeto Solicitação, objeto Resposta, objeto Sessão, objeto Aplicativo, objeto Servidor, objeto Cookies, o objeto Servidor entre estes. seis objetos podem carregar outros componentes, que podem estender as funções do ASP.
O ciclo de vida de um objeto criado usando Server.CreateObject começa quando ele é criado e termina quando o programa da página web em que está localizado termina. Se quiser que o objeto seja usado em páginas da web, você pode usar o objeto Session para registrar o objeto criado por Server.CreateObject.
4. Pergunta: Por que ocorre o seguinte erro ao usar Response.Redirect: título errado, o título HTTP foi gravado no navegador do cliente e qualquer modificação no título HTTP deve ser feita antes de gravar o conteúdo da página?
Resposta: Response.Redirect pode transferir uma página da web para outra página da web. A estrutura de sintaxe usada é a seguinte: Response.Redirect URL, onde o URL pode ser um endereço relativo ou um endereço absoluto, mas é usado no IIS4.0 e. IIS5.0.
A transferência de páginas da web no IIS4.0 deve ser executada antes que qualquer dado seja enviado para o navegador do cliente, caso contrário ocorrerá um erro. Os chamados dados aqui incluem tags HTML, como:, etc., que foram aprimorados no IIS5.0. O buffer é habilitado por padrão no IIS5.0 e tais erros não ocorrem mais.
Existe um atributo Buffer no objeto Response. Este atributo pode definir se o site transmitirá dados ao cliente imediatamente após o processamento do ASP, mas este atributo também deve ser definido antes de transmitir quaisquer dados ao cliente.
Para garantir a segurança, independentemente da plataforma de execução ASP usada, configure o buffer para abrir no início da página para que tal erro não ocorra.
5. Pergunta: A saída em buffer tem algum impacto na transmissão da página da web?
Resposta: Em páginas da Web relativamente grandes, pode haver algum atraso na primeira parte que aparece no navegador, mas o carregamento da página da Web inteira é mais rápido do que sem buffer.
6. Pergunta: A coleção Request.QueryString pode ser usada para consultar o valor da string quando nenhum formulário é enviado?
Resposta: O objeto Request é usado para ler dados do navegador. Além de ler o conteúdo dos campos do formulário, ele também pode ser usado para ler os parâmetros anexados à URL, independentemente de como a string de solicitação é adicionada ao endereço do link. Solicitação Não há diferença. Você pode usar a coleção Request.QueryString para enviar um formulário usando o método get ou seguir um link com uma string de consulta adicional para consultar todos os valores na string.
7. Pergunta: Escrevi muitos comentários no script ASP. Isso afetará a velocidade do servidor que processa arquivos ASP?
Resposta: No processo de escrever um programa, é um bom hábito fazer comentários. Testado por técnicos estrangeiros, o desempenho geral dos arquivos ASP com muitos comentários cairá apenas 0,1%, o que significa que em aplicativos reais, o desempenho do servidor basicamente não diminuirá.
8. Pergunta: Preciso utilizá-lo no início de cada arquivo ASP?
Resposta: O código usado no início de cada arquivo ASP é usado para informar ao servidor que o VBScript agora é usado para escrever o programa. No entanto, como a linguagem de programação padrão do ASP é VBScript, ele pode ser executado normalmente mesmo se o código for ignorado. No entanto, se a linguagem de script do programa for Com JavaScript, você precisará especificar a linguagem de script usada na primeira linha do programa.
9. Pergunta: Preciso usar OptionExplicit em todos os arquivos ASP? Resposta: Em aplicações práticas, o conceito de variáveis VBScript foi confuso, permitindo que variáveis sejam usadas diretamente sem usar Dim para declarar variáveis. No entanto, este não é um bom hábito e pode facilmente causar erros de programa porque uma variável pode ser definida repetidamente. Podemos usar a instrução OptionExplicit no programa, de modo que ao usar uma variável, ela deve ser declarada primeiro. Se uma variável não declarada for usada, o programa apresentará um erro durante a execução.
A prática provou que o uso de OptionExplicit em arquivos ASP pode minimizar a chance de erros de programa e melhorar significativamente o desempenho geral.
10. Pergunta: Quais são as medidas de segurança ao executar arquivos ASP?
Resposta: O ASP fornece um bom mecanismo de proteção de código. Todos os códigos ASP são executados no lado do servidor e apenas os resultados da execução do código do cliente são retornados. No entanto, ainda não está descartado que pessoas mal-intencionadas possam danificar deliberadamente o servidor Web, portanto, você deve prestar mais atenção às questões de segurança ao gravar arquivos ASP.
Embora os arquivos importados em ASP usem inc como extensão, ainda é recomendado usar ASP como extensão do arquivo importado. Quando esses códigos são executados em um WebServer com mecanismo de segurança ruim, basta inserir o endereço do arquivo importado na barra de endereços (inc é a extensão), e você pode navegar pelo conteúdo do arquivo importado. o WebServer, se não houver Quando uma biblioteca de vínculo dinâmico que analisa um determinado tipo (como inc) é definida, o arquivo é exibido no modo de código-fonte.
Além disso, não coloque o arquivo do banco de dados dentro da estrutura do site. Dessa forma, quando uma pessoa mal-intencionada obtiver o caminho do banco de dados, ela poderá facilmente obter o banco de dados e alterar o conteúdo do banco de dados arbitrariamente. Uma abordagem melhor é estabelecer um DSN de nome de fonte de dados (DateSourceName) para o banco de dados. As informações sobre a conexão com o provedor de dados especificado são armazenadas no DSN, incluindo: a localização física do banco de dados, o tipo de driver usado para acessar o banco de dados. , acesso Quaisquer outros parâmetros exigidos pelo driver do banco de dados podem ser acessados diretamente do DSN durante o acesso ao banco de dados.
11. Pergunta: Que questões devem ser consideradas ao avaliar um sistema de gerenciamento de banco de dados Web?
Resposta: Ao avaliar um sistema de gerenciamento de banco de dados Web, três questões devem ser consideradas: as questões multiusuário estabelecidas devem ser questões relacionais e de segurança do banco de dados; 12. Pergunta: O que é ADO e como ele opera o banco de dados?
12. Pergunta: O que é ADO e como ele opera o banco de dados?
Resposta: O nome completo do ADO é ActiveXDataObject (ActiveX Data Object), que é um conjunto de objetos especializados otimizados para acessar bancos de dados. Ele fornece uma solução completa de banco de dados de sites para ASP. Ele atua no lado do servidor e fornece uma página inicial contendo informações do banco de dados. O conteúdo, ao executar comandos SQL, permite aos usuários inserir, atualizar e excluir informações do banco de dados do site na tela do navegador.
ADO inclui principalmente três objetos: Connection, Recordset e Command. Suas principais funções são as seguintes:
·Objeto de conexão: responsável por abrir ou conectar arquivos de banco de dados;
·Objeto Recordset: acessa o conteúdo do banco de dados;
·Objeto comando: emite instruções de consulta de ação ao banco de dados e executa procedimentos armazenados do SQL Server.
13. Pergunta: Qual é a diferença entre usar o objeto Recordset e o objeto Command para acessar o banco de dados?
Resposta: O objeto Recordset exigirá que o banco de dados transmita todos os dados. Quando a quantidade de dados for grande, causará congestionamento na rede e sobrecarregará o servidor de banco de dados, de modo que a eficiência geral de execução será reduzida.
Utilizando o objeto Command para chamar diretamente instruções SQL, as operações realizadas são realizadas no servidor de banco de dados, que obviamente possui alta eficiência de execução. Em particular, a execução do procedimento armazenado criado no lado do servidor pode reduzir o tráfego da rede. Além disso, como a análise de sintaxe é realizada antecipadamente, a eficiência geral da execução pode ser melhorada.
14. Descrição: É necessário criar um objeto Connection para cada objeto Recordset?
Resposta: Você pode usar o mesmo objeto Connection para diferentes objetos Recordset ao mesmo tempo para economizar recursos.
15. Pergunta: O que é um sistema de gerenciamento de banco de dados (SGBD)?
Resposta: Para garantir a segurança e consistência dos dados armazenados no banco de dados, o banco de dados deve ter um conjunto de software para completar as tarefas de gerenciamento correspondentes. Este conjunto de software é o sistema de gerenciamento de banco de dados, ou SGBD, para abreviar. varia de acordo com o sistema, mas de modo geral, deve incluir os seguintes aspectos:
Função de descrição do banco de dados: Definir a estrutura lógica global, estrutura lógica local e outros diversos objetos de banco de dados do banco de dados;
Funções de gerenciamento de banco de dados: incluindo configuração e gerenciamento de sistema, acesso a dados e gerenciamento de atualização, gerenciamento de integridade de dados e gerenciamento de segurança de dados;
Funções de consulta e manipulação de banco de dados: Esta função inclui recuperação e modificação de banco de dados;
Funções de manutenção de banco de dados: incluindo gerenciamento de importação e exportação de dados, manutenção de estrutura de banco de dados, funções de recuperação de dados e monitoramento de desempenho.
A fim de melhorar a eficiência do desenvolvimento de sistemas de banco de dados, os sistemas de banco de dados modernos também fornecem várias ferramentas para apoiar o desenvolvimento de aplicativos, além do SGBD.
16. Pergunta: Quais são os sistemas de gerenciamento de banco de dados WEB atualmente populares?
Resposta: Os sistemas de gerenciamento de banco de dados da Web atualmente populares incluem SQL Server, Oracle, DB2 e Sybase da Microsoft. As empresas de pequena escala usam principalmente o Access.
17. Pergunta: Qual é a diferença entre usar o método AddNew do ADO e usar diretamente a instrução Insertinto... em ASP? Qual caminho é melhor?
Resposta: O método AddNew do ADO encapsula apenas a instrução Insertinto. Portanto, ao operar em uma grande quantidade de dados, o uso direto de instruções SQL irá acelerar bastante o acesso aos dados porque reduz o tempo de tradução do ADO devido às operações executadas pela instrução SQL. são realizadas diretamente no servidor de banco de dados, o que apresenta vantagens significativas principalmente quando a quantidade de dados é grande.
18. Pergunta: Por que recebo um erro quando uso a instrução de registro de inserção padrão insertintobooks(name,email)values(kitty,[email protected]) em ASP?
Resposta: SQL (StructuredQueryLanguage/Structured Query Language) é uma linguagem de consulta de dados desenvolvida pela IBM na década de 1970. Agora se tornou o padrão para linguagens de consulta de banco de dados relacionais. As instruções SQL são uma linguagem de programação baseada em inglês que pode ser usada para adicionar, gerenciar e acessar bancos de dados.
Embora você possa usar aspas duplas ao adicionar uma string em uma instrução SQL, aspas simples são necessárias no ASP para execução normal. Portanto, deve ser escrito insertintobooks(name,email)values('kitty','[email protected]').
19. Pergunta: O que são controles ActiveX? Onde posso obter esses controles ActiveX?
Resposta: Os controles Microsoft ActiveX são componentes de software reutilizáveis desenvolvidos por fornecedores de software. Além dos objetos incorporados do ASP, os controles ActiveX instalados também podem ser usados no ASP, o que pode economizar muito tempo valioso de desenvolvimento. Na verdade, também existem muitos controles ActiveX incorporados no ASP que podem ser usados.
Usando controles ActiveX, funções especiais podem ser rapidamente adicionadas a aplicativos Web e ferramentas de desenvolvimento. Por exemplo, use o objeto AdRotator para criar um quadro de rolagem de publicidade, use o objeto FileSystemObject para acesso a arquivos e use o objeto Marquee para implementar texto de rolagem.
Agora, existem mais de 1.000 controles ActiveX comerciais que podem ser desenvolvidos usando várias linguagens de programação, como C, C++, etc., bem como o ambiente de desenvolvimento VisualJava da Microsoft, MicrosoftVisualJ++. Depois que um controle ActiveX é desenvolvido, designers e desenvolvedores podem usá-lo como um componente pré-montado para desenvolver programas clientes. Usando controles ActiveX dessa forma, os usuários não precisam saber como esses componentes são desenvolvidos. Em muitos casos, eles nem precisam se programar para concluir o design de páginas da web ou aplicativos.
Existem atualmente mais de 1.000 controles comerciais fornecidos por desenvolvedores de software terceirizados. A Galeria de Componentes ActiveX da Microsoft (ActiveXComponentGallery) armazena informações relevantes e links relacionados, que apontam para vários controles ActiveX fornecidos pela Microsoft e por desenvolvedores de terceiros. Na Galeria de Componentes ActiveX da Microsoft (ActiveXComponentGallery), você pode encontrar uma lista de empresas que desenvolvem controles ActiveX aprimorados para Internet.
20. Pergunta: Por que o valor do site inicial no formulário não pode ser encontrado no banco de dados usando a instrução strStartPort=(Request.Form(catmenu_0)?
Resposta: Isso ocorre porque o valor do local inicial obtido pode conter espaços. Por exemplo, o significado original é Hangzhou. Porém, devido à existência de espaços, o valor obtido pelo programa ASP pode ser Hangzhou, e há apenas registros. de Hangzhou no banco de dados, é claro, não pode ser encontrado, a solução é usar a função Trim para remover todos os espaços em ambas as extremidades da string.
strStartPort=TRIM(Request.Form(catmenu_0))
21. Pergunta: Em ASP, quando termina o ciclo de vida de uma variável, quantos métodos existem para reter o conteúdo da variável?
Resposta: Qualquer operação que provoque o fim da página web, como pressionar o botão de atualização do navegador ou fechar o navegador e reabri-lo, causará o fim do ciclo de vida da variável.
Se você deseja reter o conteúdo das variáveis quando a página da web termina a execução para uso na próxima execução, você pode usar o objeto Application para fazer isso. Por exemplo, você pode usar o objeto Application para criar um contador que conte as visitas ao site.
O objeto Session é igual ao objeto Application. Ele pode armazenar o conteúdo da variável no final da página da web. No entanto, ao contrário do objeto Application, cada conexão é um objeto Session independente. compartilhe um objeto Application, mas cada usuário on-line terá seu próprio objeto Session.
O objeto Application e o objeto Session podem nos ajudar a registrar informações no lado do servidor, enquanto o objeto Cookies usará a função Cookies fornecida pelo navegador para registrar informações no lado do cliente. Uma coisa a notar é que os cookies são informações gravadas no navegador, portanto o acesso aos dados não é tão simples quanto acessar outros objetos ASP (as informações são armazenadas no lado do servidor, em termos de operação real, apenas quando o navegador inicia a navegação no servidor). Uma determinada página da web, e o servidor não baixou nenhum dado para o navegador antes que o navegador pudesse trocar dados de Cookies com o servidor.
22. Pergunta: O que você deve fazer após usar o objeto?
Resposta: Após usar o objeto, primeiro use o método Close para liberar os recursos do sistema ocupados pelo objeto, em seguida, defina o valor do objeto como zero para liberar a memória ocupada pelo objeto. reduzido ou mesmo travado devido a muitos objetos. As instruções correspondentes são as seguintes:
23. Pergunta: Quantos métodos existem para ler campos de formulário HTML em arquivos ASP?
Resposta: Além de ler os parâmetros anexados à URL, o objeto Request também pode ler o conteúdo dos campos do formulário HTML. A estrutura de sintaxe comumente usada é a seguinte:
O método pode aceitar dois métodos de transmissão: Get ou Post Post é um método que permite a transmissão de grandes quantidades de dados. O método Get anexará os dados a serem transmitidos ao final da URL e os enviará juntos ao servidor. , então a quantidade de dados transmitidos será restrita, mas a eficiência de execução é melhor que o método Post.
Os dados podem ser enviados ao servidor usando o método Get ou Post. Os métodos correspondentes para receber dados usando o objeto Request são os seguintes:
Obter: Request.QueryString (nome do campo), também pode ser escrito como Request (nome do campo)
Post: Request.Form (nome do campo), também pode ser escrito como Request (nome do campo)
24. Pergunta: Como melhorar a eficiência do uso da coleção Request?
Resposta: Ao usar a coleção Request, é muito mais lento do que acessar uma variável local porque envolve uma série de pesquisas por coleções relacionadas. Portanto, se você planeja usar um valor na coleção Request diversas vezes na página, considere armazená-lo como uma variável local.
25. Pergunta: Tanto VBScript quanto Jscript podem ser usados em páginas ASP. É bom usar um mecanismo de script misto?
Resposta: Embora VBScript e JScript possam ser usados em páginas ASP. Mas não é aconselhável usar JScript e VBScript ao mesmo tempo na mesma página. Como o servidor deve instanciar e tentar armazenar em cache dois mecanismos de script (em vez de um), isso aumenta até certo ponto a carga no sistema. Portanto, por motivos de desempenho, você não deve misturar vários mecanismos de script na mesma página.
26. Pergunta: Quando criamos um arquivo ASP e ele está em conformidade com a sintaxe, se inserirmos o seguinte endereço através do navegador, ou abri-lo através do gerenciador de recursos e navegar: c:/inetpub/wwwroot/a.asp, um inoperável aparecerá um erro. Ele avisa que as permissões estão incorretas ou o arquivo não pode ser acessado. Por que o arquivo ASP não pode ser executado normalmente?
Resposta: Isso ocorre porque o arquivo ASP primeiro exige que o site tenha atributos de execução (script) e depois exige que o endereço seja inserido no formato URL em vez do formato DOS. Precisamos instalar e iniciar a plataforma de serviço Web no computador e. certifique-se de que o arquivo ASP esteja armazenado No diretório virtual do servidor Web, você pode navegar no formato HTTP. Na barra de endereço do navegador, digite: http://Nome do site (ou endereço IP do site)/ASP. nome do arquivo e pressione Enter para navegar. O resultado do servidor que executa o arquivo ASP é visto no navegador.
27. Pergunta: O que é ASP.NET? O que isso tem a ver com ASP?
Resposta: ActiveServerPages (ASP, Active Server Pages) é um ambiente de programação relativamente simples no qual HTML, linguagens de script e um pequeno número de componentes podem ser misturados para criar aplicativos de Internet do lado do servidor;
ASP.NET é um ambiente de programação poderoso promovido pela Microsoft. Ele pode usar uma variedade de linguagens de alto nível, como C# e linguagens de script, HTML, XML, XSL, etc. ASP.NET usa C# como uma linguagem orientada a objetos Em muitos aspectos, o C# se tornará a linguagem da Microsoft semelhante ao Java. C# é um dos recursos mais importantes no desenvolvimento ASP.NET, e a Microsoft transformará o C# em um forte rival do Java. Esta também é uma parte importante da estrutura .Net da Microsoft. Acho que C# é a principal ferramenta da Microsoft para derrotar seus rivais no espaço de linguagens de programação.
ASP.NET é superior aos programas ASP em termos de orientação a objetos, conexão de banco de dados, aplicativos de site em grande escala, etc. ASP.NET também fornece mais recursos novos em outros aspectos, como: cache de objeto integrado e cache de resultados de página; XML integrado com suporte, pode ser usado para processamento simples de conjuntos de dados XML, o controle do servidor fornece controle interativo mais completo, etc.
O ASP.NET ainda está completamente bloqueado no sistema operacional da Microsoft. Para realmente perceber o potencial do ASP.NET, você precisa usar C# ou vb.net. Essas duas linguagens se tornarão as principais linguagens de script do padrão ASP.NET.