locked
How to safely drop a DSS service RRS feed

  • Question

  • Hi All,

    I expect that my DSS services will be started and stopped dynamically and before dropping my service, I would like to clean up some stuff that I created. Dropping of a service should not result in dropping of the entire nodes. I am not adding the ActivationSettings attribute to my DSS service and hence the default values are taken. From the posts below,

    http://social.msdn.microsoft.com/forums/en-us/roboticsdss/thread/EFD2375C-08B7-44E6-99A9-61226C11E822/
    http://social.msdn.microsoft.com/Forums/en-US/roboticsdss/thread/fada651c-05e8-4b25-b94a-d41fdb848ef7/

    I realize that the typical pattern to drop a DSS service is the following

    [ServiceHandler(ServiceHandlerBehavior.Teardown)]
    public virtual void DropHandler(dssp.DsspDefaultDrop drop)
    {
        // My clean up work
        base.DefaultDropHandler(drop);
    }

    From 
    http://social.msdn.microsoft.com/Forums/en-US/roboticsdss/thread/b01e5bb0-eae7-4005-a5e5-9f4ce7335424/
    http://social.msdn.microsoft.com/Forums/eu/roboticsdss/thread/1475ffaf-1a37-469d-a8db-a8abf53e5ea7/

    I came to know that all DSS services running on the same DSS node share the same Dispatcher and also the same DispatcherQueue. Do the Dispatcher and the DispatcherQueue get disposed only when the DSS node is completely shutdown? If so, then dropping and creating of services should not have any impact on the Dispatcher and the DispatcherQueue of a DSS node?

    If that is the reason, why this post http://social.msdn.microsoft.com/Forums/en-US/roboticsccr/thread/ff69cd52-f218-4757-9614-715a4f765066/ exactly the same thing I am trying to do, talks about how DssHost rebuilds the contract directory when he stops and starts a service (or that is what I understand from the post). Once a DSS node is started, the starting and dropping of a service should be very quick right (assuming that during the start and drop of service, no user defined operations are done). Please clarify.

    Thanks,

    Venkat



    Thursday, October 4, 2012 7:02 AM
    Moderator

Answers

  • Hi All,

    I think the solution for this problem would be to follow the normal way of dropping the service which is the following (unless some one comes up with a better solution)

    [ServiceHandler(ServiceHandlerBehavior.Teardown)]
    public virtual void DropHandler(dssp.DsspDefaultDrop drop)
    {
        // My clean up work
        base.DefaultDropHandler(drop);
    }

    Hence, marking this as the answer.

    Thanks,

    Venkat

    Tuesday, October 30, 2012 7:16 AM
    Moderator

All replies

  • Hi Venkat,

    Just wanted to follow up, see if you discovered an answer. I do not know the answer off the top of my head. I should mention that you are delving into depths of CCR/DSS. So much so that I think you qualify as an expert now. We would like to offer you becoming a moderator on this forum. Would that interest you?

    Thanks,

    Greg 

    Wednesday, October 10, 2012 5:07 AM
    Moderator
  • Hi Greg,

    I have not yet found a convincing answer. I am still looking into it. Thank you for asking. I will update the forum once I find a suitable answer.

    Thank you and the team for offering me to become a moderator on this forum. Please let me know what would be the roles and responsibilities as part of being a moderator.

    Thanks,

    Venkat

    Wednesday, October 10, 2012 6:13 AM
    Moderator
  • Venkat,

    Thank you for your interest in becoming a moderator.  I think you have a lot of experience that would benefit the forums greatly.

    If you e-mail me a e-mail address or drop-box location or some similar kind of file share, I can provide you with information about roles and responsibilities.

    Send it to roboinfo@microsoft.com

    Thanks!
    Gershon

    Friday, October 19, 2012 5:27 PM
  • Hi Gershon,

    I thank Greg, you and the team for offering me to become a moderator on this forum. I have emailed to roboinfo@microsoft.com from my email id. Please send me the roles and responsibilities to my email id.

    Thanks,

    Venkat

    Friday, October 19, 2012 11:14 PM
    Moderator
  • Hi All,

    I think the solution for this problem would be to follow the normal way of dropping the service which is the following (unless some one comes up with a better solution)

    [ServiceHandler(ServiceHandlerBehavior.Teardown)]
    public virtual void DropHandler(dssp.DsspDefaultDrop drop)
    {
        // My clean up work
        base.DefaultDropHandler(drop);
    }

    Hence, marking this as the answer.

    Thanks,

    Venkat

    Tuesday, October 30, 2012 7:16 AM
    Moderator