Forum Discussion

angela's avatar
angela
Catalyst II
4 years ago

Is it possible to create custom ConversionServer tasks without external DLL?

Hi community,

does anyone know if we can create custom ConversionServer without external DLLs?

I want to run some "export files" task in the background if the expected file size is very large. I right now use a Minerva extension for this task, but I want to replace it with an own solution. The tool will probably not work anymore after next update (I have no subscription...), so I want to be prepared for the future.

There are a few blog articles regarding creating custom ConversionServer DLLs. But I wonder if we can avoid the DLL at all?

I am able to create a custom ConversionTask, but the code inside is not executed yet. I mainly look for hints regarding how to build a proper "onConvert" Method that can be used in the ConversionRule.

Can anyone share some experience regarding this topic? If you have a solution but don´t want to share it in public (aká give it away for free): I would exchange a solution for this one with one of my own solution that you might be interested ! [emoticon:c4563cd7d5574777a71c318021cbbcc8]

Many thanks!

Angela

7 Replies

  • Well, I think I worked it out :-) Instead of using the OnConvert event, I used OnBeforeConvert and just returned the task.Item on success:

    Aras.ConversionFramework.Models.ConversionTask task = new
        Aras.ConversionFramework.Models.ConversionTask() {
        Item = this
    };

    ...do the work...

    return task.Item;

    This approach did not seem to work with an OnConvert method.

    The rule doesn't specify an OnConvert at all and appears to be just fine with that! Hope this helps someone down the line.

  • Former Member's avatar
    Former Member
    Not applicable

    好的

  • Former Member's avatar
    Former Member
    Not applicable

    ConversionServer DLL

  • Former Member's avatar
    Former Member
    Not applicable

    ConversionRule

  • angela​ Did you ever find a solution to this? I'm also looking to use a regular server method to do all the work in an onConvert event. The method does fire and complete, but leaves the Conversion Task in an InProgress state, with the onConvert task InProgress. 

    • angela's avatar
      angela
      Catalyst II

      The answer is unfortunately no. But I never really tried again. I once did some test to mimic a Conversion Server behavior by triggering the transactions manually in server Methods. This was a quite promising approach (which brings zero benefit regarding server performance, cause we stay on the same server...). I never used in production.

      So far whenever I have a time consuming task that would benefit from using the conversion server....I end up using another solution that works just as well....

      One approach that I use in another project is a "ready-to-go" DLL that does all the ConversionServer related work. I always wanted to recreate this one, but so far never found the time and use case.

      I still would be highly interesting in a 100% Method based solution!

      • Yeah, the solution I ended up with (https://community.aras.com/discussions/development/is-it-possible-to-create-custom-conversionserver-tasks-without-external-dll/8699/replies/17248) just runs onBeforeConvert/OnAfterConvert methods and just skips the OnConvert completely, but in my case performance impact on app server was not a concern and I actually wanted the entire convert method to roll back if it failed, so I didn't really need to offload the processing to a separate server. Maybe someone will eventually post the solution, but for now, on to bigger and better things :-)