在LotusScript Agent中,如何获取当前服务器的名称?

时间:2020-03-05 18:52:26  来源:igfitidea点击:

在通过WebQueryOpen运行的LotusScript代理中,如何获取当前服务器的名称?

解决方案

回答

Set s = New NotesSession
Set db = s.CurrentDatabase

If db.Server <> "" Then
  Set sName = New NotesName(db.Server)
Else
  Set sName = New NotesName(s.Username)
End If

回答

'initialize event of a WebQueryOpen agent

Dim s As New notessession   
Dim servername As String
servername = s.UserName

回答

已经提供的示例代码很好,但是我也可以这样做,只是获得服务器的层次结构名称:

Set s = New NotesSession
Set db = s.CurrentDatabase
If db.Server <> "" Then
   Set sName = New NotesName(db.Server)
Else
   Set sName = New NotesName(s.Username)
End If
ServerName = sName.Abbreviated

回答

加里的答案是最合适的。我们实际上可以使用分层语法来标识服务器名称。

dim session as new notesSession
dim strCurrServer as string
dim nmServer as notesName

strCurrServer = session.currentagent.servername
' this bit is optional 
set nmServer = new notesName(strCurrServer)
' then you can do stuff like this
print nmServer.Abbreviated

那将是从webquery打开代理获取服务器名称的最快(最脏的方法)。 notesName类是用于处理层次结构名称的便捷对象
连结文字