bluebunny72 icon

ClearCache

bluebunny72 | PRO | 01/11/22 12:48:26 PM UTC (Edited) | 0 ⭐ | 726 👁️ | Never ⏰ | []
VB.NET |

3.23 KB

|

None

|

0 👍

/

0 👎

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