Search code examples
c#node.jsedgejs

How to resolve Edge.Func hanging?


I'm evaluating Edge.Js for use in an existing project, but I'm running into an issue with calling Edge.Func. For projects that aren't a console application, it hangs (no exception thrown) on the Edge.Funct( call (e.g.WebAPI or Test projects).

    // Next line hangs
    var func = Edge.Func(@"
return function (data, callback) {
    callback(null, 'hello world');
}");

I have a test sln here: https://github.com/cumminsjp/edgete

If I drop that same code into a console app--it works and I get the expected hello world back from the function.

I've seen related discussions / issues:
https://github.com/tjanczuk/edge/issues/215
https://github.com/tjanczuk/edge/issues/373
Using Edge.js from a C# console application

But I'm not convinced that I haven't mis-configured something or that I'm missing something obvious.


Solution

  • I had a working Edge.Js console example and I copied it to the test sln folder where I was experiencing the problem. All of a sudden, the console app also hung on the Edge.Func call. Eventually, I figured out that it was the presence of a junction (at any point in the full path) that causes the problem.

    My solution was contained in a sub-directory of a directory that was a junction, which Edge.Js does not seem to tolerate.

    <DIR>
    <DIR>
    <DIR>
    <DIR>
    <DIR>
    <JUNCTION>  <-- Edge.Js doesn't like
    <DIR>
    <DIR>
    

    If I either copy that sln directory to a normal directory (or find the physical directory the junction is pointing to an open the sln from there), both the console example and test project could successfully call Edge.Func