Поддержка ASP.NET
| |
|
Здесь можно подробно прочитать
о технологии .NET от Microsoft.
Мы предлагаем нашим пользователям возможность
использования технологии ASP.NET (так же называемой ASP+) на серверах Windows-хостинга.
По умолчанию используется Microsoft .NET Framework v1.1.4322.
Для клиентов, чьи виртуальные серверы работают на платформе Windows 2003/IIS 6,
доступен Microsoft .NET Framework v2.0.50727. Для того, чтобы изменить версию
.NET для Вашего сервера, напишите заявку с авторизованного e-mail'а на адрес
support@zenon.net.
При работе с ASP.NET используются языки программирования
Visual
Basic и C#
(вместо скриптовых языков, применяющихся в ASP).
Основные новые возможности технологии ASP.NET:
Компилирование кода - теперь при первом обращении к странице
происходит ее компиляция,
и все последующие обращения уже обрабатываются ее скомпилированной версией,
что существенно
повышает скорость обработки данных и отдачу контента пользователю в целом.
Использование библиотек - в коде страниц теперь можно использовать
библиотеки,
поставляемые вместе с .NET.
Ниже представлен пример построения
круговой диаграммы с использованием библиотеки System.Drawing.
Сохраните следующий код, например, в файле diagr.aspx и откройте его
в браузере:
<%@ Page Language="VB" ContentType="image/jpeg" %>
<%@ Import Namespace="System.Drawing" %>
<%@ Import Namespace="System.Drawing.Imaging" %>
<%@ Import Namespace="System.Drawing.Drawing2D" %>
<%
Response.Clear()
Dim height As Integer = 200
Dim width As Integer = 320
Dim x As Integer
Dim i As Integer
Dim start_angle As Integer
Dim pie_size As Integer
Dim sub_total As Integer
Dim offset As Integer
Dim diameter As Integer
Dim arrData() As Integer = {75, 45, 19, 10, 55} ' значения
Dim arrProcent(4) As Integer
Dim total As Integer
Dim arrColor() As Object = {Color.Salmon, Color.SeaGreen,
Color.Gold, Color.Maroon, Color.Orchid}
Dim arrTitle() As String = {"Пункт1", "Пункт2", "Пункт3",
"Пункт4", "Пункт5"}
Dim rect As Object
sub_total = 0
start_angle = 0
offset = 20
diameter = 170
total = 0
Dim bmp As New Bitmap(width, height,
PixelFormat.Format32bppArgb)
Dim g as Graphics = Graphics.FromImage(bmp)
Dim fnt As New Font("Arial", 8)
Dim sb As New SolidBrush(Color.Blue)
g.Clear(Color.White)
g.SmoothingMode = SmoothingMode.HighQuality
' сумма значений в массиве
For i = 0 To arrData.GetUpperBound(0)
total = total + arrData(i)
Next
' проценты
For i = 0 To arrData.GetUpperBound(0)
arrProcent(i) = Math.Round((arrData(i)/total)*100)
Next
For i = 0 To arrProcent.GetUpperBound(0)
sub_total = sub_total + arrProcent(i)
pie_size = sub_total*360 / 100 - start_angle
g.FillPie(New SolidBrush(arrColor(i)),
offset, offset, diameter, diameter, start_angle, pie_size)
start_angle = start_angle + pie_size
rect = New Rectangle(offset + diameter + 10, offset +
i*20, 15, 15)
g.FillRectangle(New SolidBrush(arrColor(i)), rect)
g.DrawString(arrTitle(i) & " - [" & arrProcent(i) & "%]",
fnt, sb, offset + diameter + 10 + 20, offset + i*20)
Next
bmp.Save(Response.OutputStream, ImageFormat.Jpeg)
g.Dispose()
bmp.Dispose()
Response.End()
%>
Ограничения
На всех наших серверах доступ к абсолютным путям в файловой системе
заблокирован. Это сделано для предотвращения "directory traversal" атак,
которые могут позволить атакующему выходить за пределы корневой веб-директории
и получить доступ к важным файлам файловой системы, например,
SAM файлам. Поэтому для работы с файлами необходимо использовать
относительные пути (подробнее).
Наиболее часто возникают проблемы при работе с директивой
INCLUDE.
Например, у Вас в папке webroot (корневой папке Вашего сайта, где должны
быть расположены все Ваши файлы) есть 2 директории inc и admin. В папке
admin есть файл default.asp, в котором подключается файл content.asp,
расположенный в папке inc.
Делается это так:
<!--#include virtual="/inc/content.asp"-->
Конструкция вида:
<!--#include virtual="../inc/content.asp"-->
работать не будет.
Внимание: "include file" требует указания физического пути и может
использоваться только для указания пути к файлу, расположенному в текущей
или во вложенной папке, например:
<!--#include file="head.asp"-->
или
<!--#include file="inc/content.asp"-->
ADO.NET - поддержка ADO.NET (так же известной, как ADO+)
позволяет упростить и
одновременно ускорить работу и обработку данных в Ваших приложениях.
Ниже представлен пример, иллюстрирующий работу с базой данных с
использованием технологии ASP.NET (выводится список таблиц):
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data.SqlClient" %><html>
<head><title>Tables and views of DataBase</title></head>
<body>
<table border="1" cellpadding="1" cellspacing="1">
<%
string myConnectString = "data source=(local);initial
catalog=database;User ID=S_login;Password=password";
SqlConnection myConn = new SqlConnection(myConnectString);
SqlCommand myComm = new SqlCommand("sp_tables", myConn);
myConn.Open();
SqlDataReader myReader = myComm.ExecuteReader();
try
{
%><tr><%
for(int i = 0; i < myReader.FieldCount; i++ )
{ %><th bgcolor="#CCCCCC">
<% Response.Write(myReader.GetName(i) ); %></th><% }
%></tr><%
while (myReader.Read())
{ %><tr><%
for(int i = 0; i < myReader.FieldCount; i++ )
{ %><td>
<% Response.Write( myReader.GetValue(i) ); %></td><% }
%></tr><%
}
}
finally
{ myReader.Close(); myConn.Close(); }%></table>
</body></html>
В этом примере, перед его использованием, необходимо заменить слова
database, login
и password в соответствие со своими учетными данными.
ВАЖНО: для
работы данного примера нужен
хостинговый контракт по тарифному плану "Расширенный"
и свой логин к базе данных, который можно
получить, обратившись в службу технической поддержки письмом на адрес support@zenon.net.
Более подробную информацию по ADO.NET можно получить на сайте www.microsoft.com.
Средства разработки - Система Visual Studio .NET упрощает
разработку эффективных и надежных решений,
используя такие языки программирования, как Visual Basic и C#. Первый пример работы
ASP.NET, приведенный на данной странице, написан на языке Visual
Basic, а второй - на C#.