Назад
Создание прибыльного бизнеспроекта на базе сайта

SEO + ASP.NET 4.0 + БИЗНЕСМОДЕЛЬ = ПРИБЫЛЬНЫЙ САЙТ

Инструмент быстрого построения прибыльного онлайн бизнеса своими силами без капиталовложений за 4 месяца все подробности на SEO + ASP.NET 4.0.

Подписка на рассылку

МАГИЯ C#!

Создание вебсайта с формой автоматического приема онлайн платежей по WebMoney!
Ваше имя
Ваш e-mail
Уроки по ASP.NET c# ADO.NET
     

18 видеоуроков
более 5 часов
по созданию сайта,
выполняющего
продажи ваших продуктов (физических/электронных) на полном автомате с личным оповещением на e-mail, а также ...
DVD-курс по C#, .NET

3 часть. Введение в ASP.NET. WebServices Профессиональная подготовка разработчика по языку C# на платформе .NET

asp.net webservices dvd c# gridview Гудок курс Более 65 подробных видео уроков по теоретическим основам технологии сайтостроения ASP.NET и процессу создания и использованию вебсервисов.

DVD-курс по C#, .NET

2А часть. XML/TXT в аспекте ADO.NET Профессиональная подготовка разработчика по языку C# на платформе .NET

xml txt dvd c# ADO ADO.NET Гудок курс 70 подробных видео уроков по работе с форматами xml, txt, по работе с файлами и директориями. Разработка высокоорганизованных свойств для значительного сокращения объема исходного кода и облегчения дальнейшей модификации и многое-многое другое...

DVD-курс по C#, .NET

1 часть. Windows Forms Профессиональная подготовка разработчика по языку C# на платформе .NET

Профессиональная подготовка на c# А. Гудок

185 подробнейших уроков (70 часов) лекций в формате видеоуроков по теории языка c# и платформы .NET. Практическое закрепление теоретического материала на примере создания Windows Forms - приложения видеоигры "Tanks"

DVD-курс по C#, .NET

2 часть. ADO.NET/SQL Профессиональная подготовка разработчика по языку C# на платформе .NET

Профессиональная подготовка на c# А. Гудок ADO.NET sql

165 подробных видео уроков по созданию приложений распределенных баз данных на примере разработки проектов с использований технологий ADO.NET (Connected model, Disconnected model, Typed DataSet, ...)


Я записываю курсы!
  Курс валют

НБУ курс евро






Получение объекта SessionState в обработчике запросов .ashx



Когда то, когда впервые писал скрипт взаимодействия с платежными системами типа WebMoney и RBK Money, то столкнулся с определенными трудностями. Дело в том, что на сайте с автоматическим приемом платежей, для подтверждения/отклонения транзакции перевода средств на свой счет я тогда использовал простой обработчик web-handler - обычный файл .ashx. Вы уже наверное знаете, что данный тип файла предпочтительнее обычных страниц .aspx в тех случаях, когда необходимо взаимодействовать с входными и выходными запросами без рендеринга разметки, только чистые ответы данных.

Так вот, проблема заключалась в том, что перед отправкой данных клиента в сервис приема платежей, эти самые данные клиента помещались в сессию с целью потом, по завершению транзакции, их обработать соответствующим образом. Не буду вдаваться в детали всей этой кухни, поскольку нас интересует именно использование сессий в обработчике .ashx.

Кто пытался получить доступ к состоянию сеанса в веб хендлере, сразу понял, что голыми руками его не взять.

К примеру, наш обработчик:

<%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Text;
public class Handler : IHttpHandler
{
    public void ProcessRequest (HttpContext context)
    {
    
    
    

Да, внутри метода ProcessRequest мы таки можем обращаться к данным сеанса:

public class Handler : IHttpHandler
{
    public void ProcessRequest (HttpContext context)
    {
        context.Session[0];
        //или
        HttpContext.Current.Session[0];


Но мне необходимо было получить целый объект уровня сеанса, а не значение конкретной записи сеанса. То есть, получить надо было объект типа HttpSessionState:

HttpSessionState session = context.Session;

Компилятор ругнулся, что тип HttpSessionState не определен и возможно отсутствует ссылка на зборку.

Послушал дельный совет компилятора, я добавил пространство имен:

using System.Web.SessionState;

После этого больше проблем с доступом к типу HttpSessionState не возникало.

Вот такое простое решение, казалось бы, сложного вопроса.

Так что, мой вам совет. Не спешите, как я, накручивать проблему в таких ситуациях, а поинтересуйтесь сперва где находится интересующий вас тип. Как только вы это узнаете, получить требуемое пространство имен, или ссылку на содержащий объект типа не составит труда.



Больше информации читайте по теме:

Cross-Page Posting: Межстраничная отправка данных средствами ASP.NET (передача данных между страницами .aspx)
Динамическая генерация (автоматическое формирование) пути изображения с помощью хендлера .ashx
Скрытие пути изображения (защита изображения) ASP.NET
Установка капчи на сайте ASP.NET
Вставка (внедрение, подключение) кода JavaScript в страницу (разметку) ASP.NET
Отображение данных в GridView используя SqlDataSource
Типы проектов ASP.NET – Web Site и WebApplication
Семь важных фактов об ASP.NET



Оценить статью:

Оценивая статью, Вы подсказываете нам насколько данная информация стала полезной именно для Вас. Мы ожидаем, прежде всего, оценку доступности материала для понимания и простоты его изложения. Дополнительные комментари, вопросы, дополнения и замечания Вы можете указать на странице От Вас

Частичное, или полное копирование материала данной статьи возможно лишь при размещении ссылки на данную страницу.


            
        




Имя:  


Текст комментариев (не больше 600 знаков):  
введите не более 600 знаков



Введите символы с картинки:
Капча имеет "срок годности". Поэтому, если необходимо обновите страницу.



Сантехник срочно
c# курс Гудок   курс по ASP.NET Гудок   курс по ADO.NET Гудок   курс по XML txt Гудок   курс по рефлексии и многопоточности Гудок