Com o desenvolvimento de aplicativos da Web, os calendários baseados na Web estão atraindo cada vez mais atenção, e os calendários da Web podem ser usados para exibir eventos importantes. Este artigo está errado. O New Technology Channel Editor apresenta como usar o ASP no IIS e o SQL Server para criar um calendário baseado na Web muito simples e permite compartilhar um calendário com outras pessoas ou gerenciar um grupo de calendário de pessoas.
Estabelecer um servidor SQL
Para o calendário da Web, precisamos salvar apenas uma sequência de texto indicando a natureza do evento no lado do servidor, e a string tem até 100 caracteres. O código -fonte do design é o seguinte:
Calendário.sql
- Crie uma tabela
Crie cronograma da tabela
(
Idschedule SmallInt Identity Primary Key,
dtdate smalldateTime não nulo,
vcevent varchar (100) não nulo
)
ir
-Procedimento armazenado
Criar procedimento getSchedule (@nmonth tinyint, @nyear smallint)
como
Selecione Idschedule, convert (Varchar, DatePart (DD, Dtdate)) 'Nday', VCEVENT
da programação
onde datePart (yy, dtdate) = @nyear e datepart (mm, dtdate) = @nmonth
Ordem por DatePart (DD, Dtdate)
ir
Criar procedimento addEvent (@vcdate varchar (20), @vcevent varchar (100))
como
Insira o cronograma
Selecione @vcdate, @vcevent
ir
Criar procedimento deleteevent (@idschedule smallint)
como
Excluir cronograma onde idschedule = @idschedule
ir
Projetando um cliente ASP
A figura a seguir é a principal interface do usuário do calendário da Web, onde os usuários podem ver quais eventos estão agendados. Além disso, use o link na parte inferior para virar o calendário por mês.
O código de implementação do ASP é o seguinte:
cabeçalho.asp
<@ Idioma = "VBScript"
EnablesessionState = false %>
<%
'Objetivo: o cabeçalho inclui os arquivos usados para iniciar todas as páginas
'Também inclui funções globais
Opção explícita
Response.Buffer = true
Response.Expires = 0
Sub -DoHeader (strtitle)
%>
<html>
<head>
<Meta http-equiv = "content-type" content = "text/html; charset = gb2312">
<title> Calendário de eventos - < %= strtitle %> </title>
</head>
<corpo bgcolor = "white" link = "azul" link = "azul" vlink = "azul">
<BaseFont FACE = "Verdana, Arial">
<Center> <H1> Calendário de eventos </h1>
<H3> < %= strtitle %> </h3>
<%
final sub
função getDataconnection ()
Dim OCONN, STRCONN
Set oconn = server.createObject ("adodb.connection")
strConn = "provedor = sqloledb; fonte de dados = adspm; catálogo inicial = teamweb;"
strConn = strConn && "ID do usuário = TeamWeb; senha = x"
OCONN.OPEN STRCONN
Definir getDataconnection = OConn
Função final
%>
Com o ADO, podemos conectar facilmente as páginas ASP aos bancos de dados SQL. Primeiro, precisamos criar uma conexão com o banco de dados. Para obter o conjunto de registros, chamamos o método Execute do objeto de conexão, passando na sequência de texto do comando que você deseja executar e, uma vez que o conjunto de registros esteja disponível, podemos fazer um loop nele. Header.asp contém funções para obter conexões de dados, o que significa que, se a fonte de dados mudar, temos apenas um local para editar as informações de conexão (servidor, usuário e senha). Observe que, como resultado, devemos usar o comando SET para distribuir uma nova conexão no final da função.
Otimizar o desempenho
O ASP facilita a criação de páginas da Web, mas se você deseja criar um site que possa acomodar um grande número de usuários, precisa pensar com cuidado sobre a codificação. Abaixo, o autor introduzirá vários métodos para aprimorar a escalabilidade dos calendários da Web, que também podem ser usados para melhorar o desempenho de qualquer site baseado em ASP.
1. Otimização de SQL
Uma maneira fácil de melhorar o desempenho do site é adicionar um índice ao campo de data da tabela de programação, para procurar datas dadas, acelerando assim o procedimento armazenado do GetEvents.
Para sites pequenos, podemos instalar o SQL e o IIS no mesmo servidor. Depois que as visitas ao site começarem a crescer, podemos mover o SQL para seu próprio servidor. Quando as visitas crescem ainda mais, podemos adicionar vários servidores do IIS que apontam para o mesmo servidor SQL. Se o tráfego do SQL Server estiver crescendo excessivamente, também podemos dividir os dados em diferentes servidores, podemos alocar meses ímpares para um servidor e até meses para outro servidor, é claro, isso requer modificar o getDataconnection no header.asp para que ele forneça a conexão correta com base neste mês.
2.asp otimização
O principal método de otimização para a interpretação do ASP seria alavancar as páginas em cache, para que sejam interpretadas sem precisar ser interpretadas a cada leitura. A maneira mais fácil de fazer isso é usando o objeto de aplicativo ASP. Para fazer isso, basta salvar o HTML em uma variável de aplicativo (por exemplo, calendário07-2000) com os nomes do mês e do ano. Então, quando a página do calendário de eventos é exibida, você primeiro verifica se o calendário já está salvo na variável de aplicativo; se sim, basta recuperá -lo, o que acelera bastante o processo de consulta do site. O código a seguir mostra o processo de trabalho:
<< Faça cabeçalho >>
ShowCalendar (Nmonth, NYEAR)
<< Faça rodapé >>
Sub Showcalendar (Nmonth, NYEAR)
Se Application ("Calendar" && Nmonth && "-" && nyear) = "" então
<< Construir calendário >>
Application ("Calendar" && Nmonth && "-" && nyear) = << calendar >>
Final se
Application.Write Application ("Calendar" && Nmonth && "-" && nYear)
Final sub
Obviamente, ao alterar os eventos por um mês na página Events.asp, você precisa limpar as variáveis do aplicativo para esse mês para refletir as mudanças nesses eventos.
Segurança
Existem várias maneiras de alcançar a segurança neste site. Para sites da intranet, a verificação baseada no Windows NT é a mais fácil de configurar, porque seus usuários provavelmente estarão conectados à rede. Você pode permitir que todos os usuários visualizem a página do calendário de eventos, mas apenas os administradores podem acessar a página Adicionar/remover eventos.
Este artigo apresenta o método de ASP e SQL para implementar um calendário de eventos baseado na Web. Eu acredito que todo mundo entende. Se você quiser aprender mais conteúdo técnico, continue prestando atenção ao novo canal de tecnologia errada!