Please note that VisualCron support is not actively monitoring this community forum. Please use our contact page for contacting the VisualCron support directly.


Support
2015-02-19T23:03:56Z
Changes in 7.6.1

[FEATURE] Client: Grid filter->Now hiding parent row if no object is found in child row
[FEATURE] Server: SSIS Tasks->Added more output from package execution
[FEATURE] Client/Server/API: Added csv import functionality for Time exceptions
[FEATURE] Client: Main grid->Added "Conditions icon" for Jobs and Tasks containing one Condition or more
[FEATURE] Client: Main grid->Added grid filter for Task type
[FEATURE] Client: Main grid->Added grid filter for Active/Inactive Job or Task
[FEATURE] Client: Main grid->Added support for combining grid filters
[FEATURE] Client: PGP->Sub keys can now be deleted from parent key
[BUGFIX] Server: Web service Task->Fixed problems viewing XML output in output window (XML)
[BUGFIX] Client: Service Tasks->Now handling Variables in host name field
[BUGFIX] Server: Permissions->Handled AD user import better from older versions
[BUGFIX] API: Merged file CommServer.dll into VisualCronAPI.dll
[BUGFIX] Client/Server: Solved some communication issues on W2003 servers
[BUGFIX] Server: Archive decompress->Handled an error disposing an object
[BUGFIX] Server: Variables->Handled a problem with user variables starting with a non-letter character
[BUGFIX] Server: Jobs->Fixed a problem with loading/saving Job settings for Jobs containing Service event Triggers
Henrik
Support
http://www.visualcron.com 
Please like  VisualCron on facebook!
Sponsor
Forum information
Support
2015-02-20T13:00:18Z
New build, changes:

[FEATURE] Client: Main grid->Added "Conditions icon" for Jobs and Tasks containing one Condition or more
[FEATURE] Client: Main grid->Added grid filter for Task type
[BUGFIX] Server: Arhive decompress->Handled an error disposing an object
[BUGFIX] Server: Variables->Handled a problem with user variables starting with a non-letter character
[BUGFIX] Server: Jobs->Fixed a problem with loading/saving Job settings for Jobs containing Service event Triggers
Henrik
Support
http://www.visualcron.com 
Please like  VisualCron on facebook!
Support
2015-02-20T14:28:05Z
New build, changes:

[FEATURE] Client: Main grid->Added grid filter for Active/Inactive Job or Task
[FEATURE] Client: Main grid->Added support for combining grid filters
Henrik
Support
http://www.visualcron.com 
Please like  VisualCron on facebook!
ErikC
2015-02-23T07:21:06Z
Originally Posted by: Support 

[FEATURE] Client: Main grid->Added "Conditions icon" for Jobs and Tasks containing one Condition or more


Thanks,

There is an update issue here. When I add/remove a condition to a job/task, it is not showing in the main gui.
I have to restart the client to see the changes.

Support wrote:

[FEATURE] Client: Main grid->Added support for combining grid filters


Love it!

Regards,
Erik


Uses Visualcron since 2006.
Support
2015-02-23T11:26:26Z
New build, changes:

[FEATURE] Client: PGP->Sub keys can now be deleted from parent key
+ update fix for Conditions - thanks Erik!
Henrik
Support
http://www.visualcron.com 
Please like  VisualCron on facebook!
ErikC
2015-02-26T09:30:58Z
Hi,

If I add Active Directory user, the name is filled in the User Permissions window in the Name column, like [AD] .......
If I close the User Permissions window and open it again, the column is empty (also in 7.6.0).

Regards,
Erik
Uses Visualcron since 2006.
ErikC
2015-02-26T09:59:24Z
Hi,

When I start a FTP connection in the FTP explorer, the grid with all the events is showing the password.
I think this should be ****** just as all the other logs.

FTPS commandsent: PASS 123456789


Regards
Erik
Uses Visualcron since 2006.
ErikC
2015-02-27T14:12:03Z
Hi,

I have some issues with the flow / notification combination, seen here: different topic .

I hoped to see it was fixed in this version, but it's not.
I found 3 issue where I can break/crash the client:

1. create a wait task with a on complete flow with a file notification
clone this task like 20-30 times and the client will crash.
2/27/2015 3:04:09 PM	Info	User 'VisualCron Default Admin' - Added Task: Wait-15
2/27/2015 3:04:09 PM	Debug	API->GetObjectDiff->Before InitCompare
2/27/2015 3:04:09 PM	Debug	API->GetObjectDiff->Before Compare
2/27/2015 3:04:09 PM	Err	ClientError: Collection was modified; enumeration operation may not execute.: 
Server stack trace: 
   at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
   at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
   at System.Collections.Generic.List`1.Enumerator.MoveNext()
   at WriteArrayOfTaskClassToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , CollectionDataContract )
   at System.Runtime.Serialization.CollectionDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at WriteJobClassToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , ClassDataContract )
   at System.Runtime.Serialization.ClassDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerializeReference(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at WriteMessageClassToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , ClassDataContract )
   at System.Runtime.Serialization.ClassDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclar
2/27/2015 3:04:09 PM	Debug	API->GetObjectDiff->Compare complete
2/27/2015 3:04:09 PM	Debug	API->GetObjectDiff->Difflist done
2/27/2015 3:04:09 PM	Err	ClientError: The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it has been Aborted.: 
Server stack trace: 
   at System.ServiceModel.Channels.CommunicationObject.ThrowIfDisposedOrNotOpen()
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at CommServer.Classes.WCF.IWCFServiceCallback.OnMessageReceived(Message message)
   at CommServer.Classes.WCF.WCFServiceContract.Send(Message message)


2. Use the API code I uses in the post i mentioned above to remove the notification flow. After some modifications the client chrashes:
I created the same task as above, cloned it 20-30 times and cloned the job a few times.
2/27/2015 3:09:27 PM	Err	ClientError: Collection was modified; enumeration operation may not execute.: 
Server stack trace: 
   at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
   at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
   at System.Collections.Generic.List`1.Enumerator.MoveNext()
   at WriteArrayOfTaskClassToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , CollectionDataContract )
   at System.Runtime.Serialization.CollectionDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at WriteJobClassToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , ClassDataContract )
   at System.Runtime.Serialization.ClassDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerializeReference(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at WriteMessageClassToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , ClassDataContract )
   at System.Runtime.Serialization.ClassDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclar
2/27/2015 3:09:27 PM	Debug	API->GetObjectDiff->Compare complete
2/27/2015 3:09:27 PM	Debug	API->GetObjectDiff->Difflist done
2/27/2015 3:09:27 PM	Debug	API->GetObjectDiff->Before InitCompare
2/27/2015 3:09:27 PM	Debug	API->GetObjectDiff->Before Compare
2/27/2015 3:09:27 PM	Debug	API->GetObjectDiff->Compare complete
2/27/2015 3:09:27 PM	Debug	API->GetObjectDiff->Difflist done
2/27/2015 3:09:27 PM	Debug	API->GetObjectDiff->Before InitCompare
2/27/2015 3:09:27 PM	Debug	API->GetObjectDiff->Before Compare
2/27/2015 3:09:27 PM	Debug	API->GetObjectDiff->Compare complete
2/27/2015 3:09:27 PM	Debug	API->GetObjectDiff->Difflist done
2/27/2015 3:09:27 PM	Debug	API->GetObjectDiff->Before InitCompare
2/27/2015 3:09:27 PM	Debug	API->GetObjectDiff->Before Compare
2/27/2015 3:09:27 PM	Debug	API->GetObjectDiff->Compare complete
2/27/2015 3:09:27 PM	Debug	API->GetObjectDiff->Difflist done
2/27/2015 3:09:27 PM	Debug	API->GetObjectDiff->Before InitCompare
2/27/2015 3:09:27 PM	Debug	API->GetObjectDiff->Before Compare
2/27/2015 3:09:27 PM	Debug	API->GetObjectDiff->Compare complete
2/27/2015 3:09:27 PM	Debug	API->GetObjectDiff->Difflist done
2/27/2015 3:09:27 PM	Err	ClientError: The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it has been Aborted.: 
Server stack trace: 
   at System.ServiceModel.Channels.CommunicationObject.ThrowIfDisposedOrNotOpen()
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at CommServer.Classes.WCF.IWCFServiceCallback.OnMessageReceived(Message message)
   at CommServer.Classes.WCF.WCFServiceContract.Send(Message message)


3. Don't know what happended here:
System.ServiceModel.CommunicationObjectAbortedException: There was an error writing to the pipe: The pipe is being closed. (232, 0xe8). ---> System.IO.IOException: The write operation failed, see inner exception. ---> System.ServiceModel.CommunicationObjectAbortedException: There was an error writing to the pipe: The pipe is being closed. (232, 0xe8). ---> System.IO.PipeException: There was an error writing to the pipe: The pipe is being closed. (232, 0xe8).
   at System.ServiceModel.Channels.PipeConnection.StartSyncWrite(Byte[] buffer, Int32 offset, Int32 size, Object& holder)
   at System.ServiceModel.Channels.PipeConnection.WriteHelper(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout, Object& holder)
   --- End of inner exception stack trace ---
   at System.ServiceModel.Channels.PipeConnection.WriteHelper(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout, Object& holder)
   at System.ServiceModel.Channels.PipeConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout)
   at System.ServiceModel.Channels.BufferedConnection.WriteNow(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout, BufferManager bufferManager)
   at System.ServiceModel.Channels.BufferedConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout)
   at System.ServiceModel.Channels.ConnectionStream.Write(Byte[] buffer, Int32 offset, Int32 count)
   at System.Net.Security.NegotiateStream.StartWriting(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.NegotiateStream.ProcessWrite(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
   --- End of inner exception stack trace ---
   at System.Net.Security.NegotiateStream.ProcessWrite(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.NegotiateStream.Write(Byte[] buffer, Int32 offset, Int32 count)
   at System.ServiceModel.Channels.StreamConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout)
   --- End of inner exception stack trace ---

Server stack trace: 
   at System.ServiceModel.Channels.StreamConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout)
   at System.ServiceModel.Channels.StreamConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout, BufferManager bufferManager)
   at System.ServiceModel.Channels.FramingDuplexSessionChannel.OnSend(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.OutputChannel.Send(Message message, TimeSpan timeout)
   at System.ServiceModel.Dispatcher.DuplexChannelBinder.Send(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at CommClientShared.WCFContractServiceReference.WCFServiceContract.Send(Message message)
   at CommClientShared.WCFContractServiceReference.WCFServiceContractClient.Send(Message message)
   at CommClientShared.Classes.WCFClientConnection.Send(Message message)
   at VisualCronAPI.Server.Send(MessageClass obj, Boolean ForceNoCompression)
   at VisualCronAPI.Tasks._Remove(String jobId, String taskId, Boolean async)
   at VisualCronAPI.Tasks.RemoveAsync(TaskClass tc)
   at frmMain2.LEEJGOHEBELOOHDPKMHJONLNCMEJLDDHCDIG() in C:\sourcefiles\code\VisualCron\Main\frmMain2.vb:line 4356
   at frmMain2.IENILKLPKINNGCGNBEEPECJDKFOBDMNKBFCP(Object  , KeyEventArgs  ) in C:\sourcefiles\code\VisualCron\Main\frmMain2.vb:line 3822
   at System.Windows.Forms.Control.OnKeyDown(KeyEventArgs e)
   at Infragistics.Win.UltraControlBase.OnKeyDown(KeyEventArgs e)
   at System.Windows.Forms.Control.ProcessKeyEventArgs(Message& m)
   at System.Windows.Forms.Control.ProcessKeyMessage(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Uses Visualcron since 2006.
jshoebrook
2015-02-27T19:18:17Z
Erik, I experienced the client crashing with the same error (ClientError: Collection was modified; enumeration operation may not execute.) in 7.6.0 when updating a Delete Folder task. I originally posted that error to this forum and it was moved to the 7.6.0 forum. As you mentioned, this error has not been fixed in 7.6.1.
Support
2015-03-01T09:03:13Z
Originally Posted by: jshoebrook 

Erik, I experienced the client crashing with the same error (ClientError: Collection was modified; enumeration operation may not execute.) in 7.6.0 when updating a Delete Folder task. I originally posted that error to this forum and it was moved to the 7.6.0 forum. As you mentioned, this error has not been fixed in 7.6.1.



John,

if you can reproduce this in the Friday build of 7.6.1 then please export all your settings and tell us exactly how to reproduce this. You can send to support@visualcron.com

Thanks
Henrik
Support
http://www.visualcron.com 
Please like  VisualCron on facebook!
ErikC
2015-03-02T07:29:29Z
Hi,

Today I downloaded the latest build and did the following:

1. Created a wait task in a job with two modifications to it. 1) set to 1 second 2) added an on complete file write notification.
2. I cloned the task 20 times and the client crashed again.
3/2/2015 8:11:43 AM	Info	User 'VisualCron Default Admin' - Added Task: Wait-19
3/2/2015 8:11:43 AM	Debug	API->GetObjectDiff->Before InitCompare
3/2/2015 8:11:43 AM	Debug	API->GetObjectDiff->Before Compare
3/2/2015 8:11:43 AM	Debug	API->GetObjectDiff->Compare complete
3/2/2015 8:11:43 AM	Debug	API->GetObjectDiff->Difflist done
3/2/2015 8:11:43 AM	Info	User 'VisualCron Default Admin' - Added Task: Wait-20
3/2/2015 8:11:43 AM	Debug	API->GetObjectDiff->Before InitCompare
3/2/2015 8:11:43 AM	Debug	API->GetObjectDiff->Before Compare
3/2/2015 8:11:44 AM	Err	ClientError: Collection was modified; enumeration operation may not execute.: 
Server stack trace: 
   at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
   at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
   at System.Collections.Generic.List`1.Enumerator.MoveNext()
   at WriteArrayOfTaskClassToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , CollectionDataContract )
   at System.Runtime.Serialization.CollectionDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at WriteJobClassToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , ClassDataContract )
   at System.Runtime.Serialization.ClassDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerializeReference(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at WriteMessageClassToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , ClassDataContract )
   at System.Runtime.Serialization.ClassDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclar
3/2/2015 8:11:44 AM	Debug	API->GetObjectDiff->Compare complete
3/2/2015 8:11:44 AM	Debug	API->GetObjectDiff->Difflist done
3/2/2015 8:11:44 AM	Err	ClientError: The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it has been Aborted.: 
Server stack trace: 
   at System.ServiceModel.Channels.CommunicationObject.ThrowIfDisposedOrNotOpen()
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at CommServer.Classes.WCF.IWCFServiceCallback.OnMessageReceived(Message message)
   at CommServer.Classes.WCF.WCFServiceContract.Send(Message message)
3/2/2015 8:11:47 AM	Info	User "VisualCron Default Admin" (admin) - Logged in successfully through  (uuid:bf417838-9e75-45f4-b87e-e719032df530;id=9)
3/2/2015 8:11:47 AM	Debug	Updating login status for: uuid:bf417838-9e75-45f4-b87e-e719032df530;id=9
3/2/2015 8:11:47 AM	Debug	Server time: 3/2/2015 8:11:47 AM
3/2/2015 8:12:28 AM	Info	Saving Jobs (12)


The other thing I did is using the DLL's to iterate through the job-tasks and delete the on sucess file notification flow.
First I used the job with the 20 wait tasks in there and I cloned the job three times, so 60 tasks have the on success flow which I want to delete.
After running my code the carsh is still there:

3/2/2015 8:24:04 AM	Info	User 'VisualCron Default Admin' - Updated Task: Wait
3/2/2015 8:24:04 AM	Debug	API->GetObjectDiff->Compare complete
3/2/2015 8:24:04 AM	Debug	API->GetObjectDiff->Difflist done
3/2/2015 8:24:04 AM	Debug	API->GetObjectDiff->Before InitCompare
3/2/2015 8:24:04 AM	Debug	API->GetObjectDiff->Before Compare
3/2/2015 8:24:04 AM	Debug	API->GetObjectDiff->Compare complete
3/2/2015 8:24:04 AM	Debug	API->GetObjectDiff->Difflist done
3/2/2015 8:24:04 AM	Debug	API->GetObjectDiff->Before InitCompare
3/2/2015 8:24:04 AM	Debug	API->GetObjectDiff->Before Compare
3/2/2015 8:24:04 AM	Err	ClientError: Collection was modified; enumeration operation may not execute.: 
Server stack trace: 
   at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
   at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
   at System.Collections.Generic.List`1.Enumerator.MoveNext()
   at WriteArrayOfTaskClassToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , CollectionDataContract )
   at System.Runtime.Serialization.CollectionDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at WriteJobClassToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , ClassDataContract )
   at System.Runtime.Serialization.ClassDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerializeReference(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at WriteMessageClassToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , ClassDataContract )
   at System.Runtime.Serialization.ClassDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclar
3/2/2015 8:24:04 AM	Debug	API->GetObjectDiff->Compare complete
3/2/2015 8:24:04 AM	Debug	API->GetObjectDiff->Difflist done
3/2/2015 8:24:04 AM	Err	ClientError: The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it has been Aborted.: 
Server stack trace: 
   at System.ServiceModel.Channels.CommunicationObject.ThrowIfDisposedOrNotOpen()
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at CommServer.Classes.WCF.IWCFServiceCallback.OnMessageReceived(Message message)
   at CommServer.Classes.WCF.WCFServiceContract.Send(Message message)
3/2/2015 8:24:07 AM	Info	User "VisualCron Default Admin" (admin) - Logged in successfully through  (uuid:bf417838-9e75-45f4-b87e-e719032df530;id=11)
3/2/2015 8:24:07 AM	Debug	Updating login status for: uuid:bf417838-9e75-45f4-b87e-e719032df530;id=11
3/2/2015 8:24:07 AM	Debug	Server time: 3/2/2015 8:24:07 AM


The code I used to do this is the following:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VisualCron;
using VisualCronAPI;

namespace VC_changeFlow
{
    class Program
    {
        static void Main(string[] args)
        {
            Server s = null;
            Client c = new Client();

            Connection conn = new Connection();
            conn.ConnectionType = Connection.ConnectionT.Remote;
            conn.Address = "123.456.789.123";
            conn.UserName = "admin";
            conn.PassWord = "";

            try
            {
                s = c.Connect(conn, true);
            }
            catch (VisualCronAPI.Client.ClientLoginFailedException ex)
            {
                Console.WriteLine(ex.Message);
            }

            if (s.Connected)
            {               
                List<JobClass> jobs = s.Jobs.GetAll();

                for (int i = 0; i < jobs.Count; i++)
                {
                    JobClass job = jobs[i];
                    List<TaskClass> tasks = job.Tasks;
                    for (int j = 0; j < tasks.Count; j++)
                    {
                        TaskClass task = tasks[j];
                        List<FlowClass> flows = task.Flow;
                        for (int k = 0; k < flows.Count; k++)
                        {
                            FlowClass flow = flows[k];
                            if (flow.NotificationId == "91f0792a-92fe-4dd6-a709-b69abe784ea0")
                            {
                                task.Flow.Remove(flow);
                                s.Jobs.Tasks.Update(task);
                                Console.WriteLine(job.Name + " : " + task.Name);
                            }
                        }
                    }                    
                }
            }
            else
                Console.WriteLine("Not Connected");
          c.Disconnect(s);
        }
    }
}

Uses Visualcron since 2006.
Support
2015-03-02T19:47:00Z
Thank you for all the feedback and patience. Official 7.6.1. has been released today where we have fixed this issue.
Henrik
Support
http://www.visualcron.com 
Please like  VisualCron on facebook!
Similar Topics
Users browsing this topic
Scroll to Top