Not 100% sure which of these dll references are necessary. We had same code for v8, so v9 should work. We are currently on v10. Just make sure you grab correct versions.
C:\Projects\Assemblies\SyteLine\10\IDOProtocol.dll
C:\Projects\Assemblies\SyteLine\10\IDOProtocol.XmlSerializers.dll
C:\Projects\Assemblies\SyteLine\10\IDORequestClient.dll
C:\Projects\Assemblies\SyteLine\10\MGShared.dll
C:\Projects\Assemblies\SyteLine\10\MGSharedResources.dll
C:\Projects\Assemblies\SyteLine\10\WSEnums.dll
C:\Projects\Assemblies\SyteLine\10\WSFormServerProtocol.dll
Imports Mongoose.IDO
Imports Mongoose.IDO.Protocol
Public Shared Function ClearCache() As SLClearCacheResponse
Dim client As Client = Nothing
Dim list As List(Of String)
Dim response As New SLClearCacheResponse()
Try
list = New List(Of String) From {"MAIN", "XXXX", "YYYY"}
Dim idoRequestEnvelope As IDORequestEnvelope = Nothing
Dim idoRequest As IDORequest = Nothing
Dim idoResponseEnvelope As IDOResponseEnvelope = Nothing
response.Successful = True
response.ReturnMessage = String.Empty
client = New Client(ServiceSettings.IDORequestServiceURL, IDOProtocol.Http)
For Each configurationName As String In list
idoRequestEnvelope = New IDORequestEnvelope()
idoRequest = New IDORequest(RequestType.Reserved)
idoRequest.SetAdditionalAttribute("Command", "DiscardMetadataCache")
idoRequest.SetAdditionalAttribute("Configuration", configurationName)
idoRequest.SetAdditionalAttribute("ConfigGroup", "")
idoRequest.SetAdditionalAttribute("ReloadConfigs", "1")
idoRequest.SetAdditionalAttribute("ReloadLicenseInfo", "1")
idoRequestEnvelope.Requests.Add(idoRequest)
idoResponseEnvelope = client.GetResponse(idoRequestEnvelope)
If (idoResponseEnvelope.Responses IsNot Nothing AndAlso idoResponseEnvelope.Responses.Count > 0) Then
For Each idoResponse As IDOResponse In idoResponseEnvelope.Responses
If (idoResponse.ErrorInfo IsNot Nothing AndAlso String.IsNullOrWhiteSpace(idoResponse.ErrorInfo.Message) = False) Then
response.Successful = False
response.ReturnMessage = idoResponse.ErrorInfo.Message
Exit For
End If
Next
End If
If (response.Successful = False) Then
Exit For
End If
Next
Catch ex As Exception
response.Successful = False
response.ReturnMessage = ex.Message
End Try
Return response
End Function
Public Shared ReadOnly Property IDORequestServiceURL As String
Get
Return ConfigurationManager.AppSettings("IDORequestServiceURL")
End Get
End Property
<appSettings>
<add key="IDORequestServiceURL" value="http://<utility servername>/IDORequestService/RequestService.aspx"/>
</appSettings>
Comments