Как я могу разделить значение переменной между классическим asp, .NET и javascript? - PullRequest
0 голосов
/ 22 сентября 2008

Я создал IHttpHandler в .NET C #, который возвращает фрагменты html на классическую страницу asp.

Классическая страница asp взаимодействует с IHttpHandler через базовые http-запросы, используя ServerXMLHTTP в vbscript или Ajax Calls в JavaScript.

Теперь мне нужен способ поделиться переменной, которая есть в vbscript, но не в javascript, с приложением .NET.

Первый бит, совместное использование переменной между классическим asp и .net, не проблема, так как я могу просто добавить ее в запрос http. Поскольку переменная недоступна в javascript, я не могу сделать это в этом случае.

У меня была идея, что, возможно, я могу кэшировать переменную в приложении .NET и использовать кэшированную версию для вызовов javascript. Но чтобы это работало, мне нужен был бы способ однозначно идентифицировать «клиента» в .NET ...

Я пытался добавить System.Web.SessionState.IRequiresSessionState к моему HttpHandler и использовать SessionId, но это не сработало, потому что каждый отдельный вызов HttpHandler, похоже, получает новый идентификатор.

Думаю ли я правильный путь? Какие у меня есть варианты?

Ответы [ 4 ]

3 голосов
/ 24 сентября 2008

Вы можете поместить свое значение в cookie, затем вы можете читать с помощью javascript и делать с ним что угодно, в том числе отправлять его в запросе в приложение .net ...

0 голосов
/ 30 января 2011

Я бы тоже порекомендовал печенье. Вы также можете загрузить значение из базы данных, но это будет излишним.

0 голосов
/ 01 октября 2008

В итоге мое решение проблемы было следующим:

  1. Я отправляю переменные на мой веб-сервис вместе с обычным запросом ws
  2. Я храню значения переменных в хеш-таблице на веб-сервисе и возвращаю хеш-ключ клиенту в скрытом HTML-объекте (для этого я использовал элемент head <meta>)
  3. В javascript я прочитал это значение хеш-функции и прикрепил его к http-запросу в качестве значения заголовка.
  4. Когда веб-служба видит этот хеш-ключ, он ищет соответствующие значения переменных в постоянной хеш-таблице.

Возможно, это не самое лучшее решение, но в моем случае оно работает хорошо ...

0 голосов
/ 22 сентября 2008

Как насчет наличия скрытой переменной на странице, в которой вы можете сохранить значение переменной из vb-скрипта вашей серверной части asp на стороне сервера.

Затем вы можете использовать Javascript для запроса этой переменной для отправки в обработчик Asp.Net через ваши вызовы ajax.

...