Workflow Soluiton

 View Only
  • 1.  Bombs out for new user defined type during publishing

    Posted Jan 27, 2011 05:38 AM

    I've updated my multiple generator container with a new user defined type, my Workflow project was already loaded so to bring in the new change I reloaded the project.

    I can see the new type (created by the new user defined type) and use it within the project but when I publish the project I get the below error, what am I missing (I've even restarted the server extension but same issue)?

     

    Error Message:

    could not find type Generated.Components.NewUserDefinedType

    Message Stack:

    at LogicBase.Framework.TypeTypeConverter.ConvertFromString(String value, Type t)

    at LogicBase.Framework.ObjectReadStream.GetValue(String name, Type type)

     



  • 2.  RE: Bombs out for new user defined type during publishing

    Posted Jan 27, 2011 07:38 AM

    The problem seems to have been resolved by it self over night, kinda weird.

     

    Would appreciate any advice why the problem arised in the first place and how it got auto-resolved ;)



  • 3.  RE: Bombs out for new user defined type during publishing

    Posted Jan 27, 2011 01:20 PM

    Were you seeing that error message during the publication or when you tried to visit the revised page after publication?

    For the first case, I have no idea :)

    For the second case, I have seen cases where an old copy of the project was still being served by IIS.  This is a IIS safety mechnasim to avoid breaking a user's active browser session by mixing the old and new code.  Once all prior sessions are completed, that instance of the app pool worker will stop running.  

    IIS is supposed to immediately serve the new version of the project to any new incoming users,  but if IIS thinks you were a pre-existing connection,  then it will give you the old page. 

    The easiest thing to try is to close all browser windows and  try again. 

    If the problem is a backend system (like another project), that may not be enough.  Stopping and starting the related application pool in IIS manager should be sufficient to force IIS to serve only the newer version of your published project.  



  • 4.  RE: Bombs out for new user defined type during publishing

    Posted Jan 27, 2011 01:21 PM

    I'ts been my experience that if a project is already loaded in IIS and you publish a change to it, you need to reset IIS to clear the "cache" and relead the DLL with the changes...

    would not hurt to restart the server extentions either...

     

    The reason it resolved itself overnight is the IIS and .NET timeout. After 20 minutes of inactivity, the session id terminated and the cache is cleared.

     

     

    rob

     

     

     



  • 5.  RE: Bombs out for new user defined type during publishing

    Posted Jan 27, 2011 02:28 PM

    Thanks for the feedback guys!

    If I have to vote I'll go with the IIS cache as I did this in the middle of the night so I don't think someone used the previous published project. If that would be the case then I guess it's due to that I have two projects with the same service ID (one for already in production and another for staging the next release).

    The only thing I didn't try during the issue was to restart IIS so maybe that's something to think about next time.

     

    As it was mentioned; what exactly does restart server extension do? I know from reading other threads that it will "give IIS a kick" ;)



  • 6.  RE: Bombs out for new user defined type during publishing

    Posted Jan 27, 2011 02:30 PM

    Were you seeing that error message during the publication or when you tried to visit the revised page after publication?

    Both; directly after the publishing "procedure" and while visiting the URL from a browser.



  • 7.  RE: Bombs out for new user defined type during publishing

    Posted Jan 29, 2011 07:53 PM

    Restarting the server extensions stop and start the Logicbase service. Think of it as an "isreset" for workflow. Restarting the logicbase services clears any memory or process that logicbase is using, and it also allows new autoinvoke schedules to be read (sounds weird, I know - but when you publish an autostart project and you want it to start in the near term, you need to refresh the service to trigger the autostart).

     

    rob