• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Серверный агент

Kizarek86

Green Team
20.07.2007
871
7
BIT
38
Код:
	Dim docST As NotesDocument
Dim ws As New NotesUIWorkspace
Set docST = ws.CurrentDocument.Document

Dim s As New NotesSession
Dim db As NotesDatabase
Dim agent As NotesAgent
Set db = s.CurrentDatabase
Set agent = db.GetAgent("ServerAgentTest")
If agent.RunOnServer(docST.NoteID) = 0 Then
Messagebox "Agent ran",, "Success"
Else
Messagebox "Agent did not run",, "Failure"
End If


Собственно как вообще отловить в серверном агенте переданный параметр?

И возможно ли вернуть значение в текущий документ?


Как передать в агент нашел...получить каким либо способом можно?Данных должно возвращаться много...
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
думаю только записывать исходящие параметры в какой-нить другой документ... или же в обрабатываемый... тут все зависит от задачи

и, думается мне, Messagebox - тут лишнее... лучше использовать Print
 
A

Akupaka

ребята, ну вы вообще разленились... это ведь уровень хэлпа...

Syntax
status = notesAgent.RunOnServer( [ noteID$ ] )
Parameter
noteID$
String. Optional. The note ID of a document. This value is passed to the ParameterDocID property of the called agent.

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

и, думается мне, Messagebox - тут лишнее... лучше использовать Print
судя по всему указанный код работает локально! поэтому, мессадж тут имеет собственное назначение...
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
ну вообще из контекста - это серверный агент. или я что-то я не правильно читал ... да и RunOnServer по моему применяетяс к серверам?
А для локально используют метод Run
А на сервере Messagebox - не есть хорошо.
 
A

Akupaka

ну вообще из контекста - это серверный агент. или я что-то я не правильно читал ... да и RunOnServer по моему применяетяс к серверам?
где "это" серверный агент? :) из указанного кода видно, что какой-то агент запускается на сервере с пом. команды RunOnServer. сам агент не приводится, а приводиться лишь код, кот его (агент) запускает...

А на сервере Messagebox - не есть хорошо.
серверу как-то пофик :) только в случае с вебом использовать print некорректно, т.к. он принтует в html, а messagebox пишет в лог...
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Тема звучит как "серверный агент", в коде приводится метод запуска на сервере.
Мне лично достаточно. Если что-то не так - пусть автор уточнит
 
A

Akupaka

мы токо зря тему зафлудим :)
ты правильно понял тему и т.п., но тот кусок кода, что приведен, - работает локально, и запускает агент на сервере :)
а локальные мессаджбоксы - обычные модальные сообщения, принты принтуют в статус-бар... эти ж мессаджи не в серверном агенте :)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!