2013-02-20 8 views
0

Я хочу позвонить genric http-handler внутри другого generic-http-handlerВнутри этого же проекта.

Предположим, у меня есть два обработчиковВызов Generic-HttpHandler внутри другого Generic-HttpHandler

  1. FirstHanlder.ashx
  2. SecondHandler.ashx

Я хочу назвать вторым по SecondHandler.ashx на FirstHandler.ashx
Я создал экземпляр SecondHandler.ashx на FirstHandler.ashx следующим образом:

var objCreateLogs=new SecondHandler(); 
objCreateLogs.ProcessRequest(context); 

Я хочу знать, будет ли это работать?

1. Еще больше мне нужно передать «** context **», или он будет неявно там.
  1. Как я могу получить ответ от SecondHandler.ashx на FirstHandler.ashx, так как тип возвращаемого ProcessRequest недействительна.
  2. Могу ли я получить ответ от httpcontex

Спасибо.

ответ

0

Обработчики не должны выполнять работу. Создайте класс/метод, который делает это слово и использует его в обоих обработчиках.

//Extract parameters  
string par1=Request["a"]; 
//... 
//Call a backend function 
var result = MyFunctions.DoTheWork(par1); 
+0

Это работает для меня. Обработчик - это класс и может быть вызван из любой точки приложения. Но я обеспокоен ответом, который я получу от обработчика. –

+0

Вы должны использовать другой класс, а в методе укажите правильный тип возврата. Если вам не нужна дальнейшая обработка, вы также можете попробовать Context.Server.Transfer() –

+0

У меня есть все готовый существующий код, и если я создам новый, мне придется внести изменения в коды. –