Im  not a needy person, I appreciate any help I get.  Alchemi does use 
log4net, and even though Ive never worked with it before, I do believe I 
allready have a fairly good understanding of it, and truth be told, the originl 
designers have it pretty much loggin everything (thats how I figured some 
things 
out).  The remoting stuff I have never worked with, but am starting to grasp as 
I read through it, I am fairly resourcefull that way.  I thought vs 2008 call 
stack would follow unmanaged code, at least once it hit the code running in the 
ide.  I am allready working on getting the executor running to the point to get 
it to connect, I was just hoping to do it a step at a time.

  The threading stuff Ive learned the hard way (what NOT to do).  Though this 
framework may spawn thousands of threads, theres only 3 main threads in the 
manager to really deal with and am assuming the executor will be about the same.

  It does bug me though that the version in the installer packages works, but 
the source doesnt.  Thats why I was asking if I should have had something in 
the 
source configured wrong (like something else shouldve been the start up 
project).  Oh well,  Ill figure it out.

Thanks,

Richard



________________________________
From: Jonathan Mitchem <[email protected]>
To: Richard Foreman <[email protected]>
Cc: [email protected]
Sent: Sun, April 3, 2011 9:44:21 AM
Subject: Re: [Alchemi-users] Im back again

Truth be told, I have no idea.  I know that's not a satisfactory answer, but 
I'd 
have to look at the code to answer, and I'm probably not going to do it today. 


IIRC though, Alchemi as per the version provided by the MSI was built on .NET 
remoting technology, which effectively abstracts all the network management 
code 
away from the developer.  (As a developer, I've not been a fan of Remoting for 
that reason, and WCF is only very slightly better.)  I never wrote Remoting 
code, only debugged it, so I don't know much about how it works; a lot of stuff 
happens behind the scenes, and I think it's mostly unmanaged code making that 
happen.  Stuff like setting up the TCP endpoints, exposing your remote methods, 
serializing parameters, etc.

Instead of breakpoints, you will probably be better off writing log messages 
out 
and reviewing those.  Threaded code in general, and especially code written 
pre-'Visual Studio 2008', behaves very funny (e.g., illogically, unpredictably, 
etc.) in the debugger, and log messages are the best way to tell what's going 
on 
when.  I believe Alchemi uses log4net, or something similar, so there should be 
a few examples to work with for adding log messages.  Additionally, breakpoints 
can mess things up and provide an incorrect record of what's really going on 
when you're dealing with threaded code, so log messages are probably your best 
bet.  I hate that that's true, but that's been my experience.

Hope that helps at least in the process of understanding what's going on and 
how.

I know that doesn't answer your questions, but I hope it sets you in the right 
path to finding the answers.  Keep me updated though.  I don't mind the 
questions, I just might not get back to you as quickly as you might like.


Jonathan


P.S.  I don't know what 1.0.6 was built on, but I believe that was a purely 
Remoting based version.  The most recent source supports WCF in addition to 
Remoting, but I personally haven't tested or run it.  At that point in time I 
was working primarily with Win2k, which does not support WCF, so I never tested 
it myself.  For everything but media, Win2k was a great OS and I never saw the 
need to upgrade, until MS stopped supporting it with the newer versions of 
.NET. 
 I wish I could avoid saying "you might have to configure it to use WCF, and 
understand how that works", but that might actually be the case.  Fortunately, 
you can run an Owner, Manager and Executor all locally for debugging purposes; 
just run 3 instances of Visual Studio...


On Sun, Apr 3, 2011 at 12:11 PM, Richard Foreman <[email protected]> wrote:

I understand now where the executor is supposed to enter at (Gmanager) and it 
is 
actually hitting it (in the ping Manager function) , it is not hitting anything 
else in the GManager object (or GNode, ManagerContainer, Mexecutor, 
MexecutorCollection or anything else as far as I can tell).  I have break 
points 
set up all over the place but the only thing that gets hit is the ping method.  
When I look in the call stack, all it says is native to managed transition.  I 
can step through the code, but all it does is make a few log entries then exits.
>
>  I would think it was the executor, but I have the manager running on another 
>computer(that manager is from the msi installer) and the executor can connect 
>to 
>that one easily.  If I step through the code, it does hit an area that creates 
>a 
>stack trace object, but I cant seem to find any usefull info in there.  I 
>tried 
>working it backwards (as in starting the source with the executorexec as the 
>startup object) but the executor in source has problems of its own that I 
>havent 
>even started to trace out.
>
>  Any ideas where I could look for the next clue?
>
>
>
>
________________________________
From: Richard Foreman <[email protected]>
>To: [email protected]
>Sent: Sun, April 3, 2011 7:08:37 AM
>Subject: [Alchemi-users] Im back again
>
>
>
>Hello again,
>
>  Heres a stupid little question I shouldve asked up front apparantly.  Which 
>version of the source files are the msi installer packages built from?  The 
>reason I ask is because I loaded the manager and executors from the installer 
>packages and had it working right off the bat, I could submit apps, the 
>executors ran the threads, fired the events, and returned data and looks like 
>it 
>runs great as far as it goes.  Though truth be told, I did not verify the 
>returned data, however that is, the source I have (version 1.0.6 I believe, 
>whatever was listed as the latest) does not run.
>
>  Now, after playing around with it, I was able to get the manager up and 
>running, however, I cannot get anything to connect to the manager once it is 
>running.  I dont know much about programming tcp, but think I have identified 
>at 
>least the area I am stuck on.  I believe it is supposed to work like this:
>
>    The executor sets up a tcp channel and registers it in the GNode object 
>(through the GetRemoteRef function) then communicates through that.
>
>  The manager sets up a tcp channel through the ManagerContainer object 
>(through 
>the Start function) then it registers a wellknown service (again through the 
>Start function) which I take to be the listener?
>
>  What I am not sure of is what causes the manager to react to something 
>happening on the channel?  Im still reading up on the tcp service, but I would 
>think it would be responding to an event or something, but I have not found 
>the 
>manager registering with a delegate to handle anything even remotely close to 
>that.
>
>  When I am trying this out, I am using the executor from the msi installer 
>package (which I know works as far as being able to connect and communicate 
>with 
>the manager) and the source for the manager set with the managerexec project 
>as 
>the start up project.  I guess my main questions are is this the correct 
>configuration to start up the manager and what is supposed to be the entry 
>point 
>for an executor when contacting the manager.  I havent been able to pin down 
>the 
>exact function that would get fired when the executor first contacts the 
>manager 
>(or how that function would get fired).
>
>  I really am trying not to bug you too much, and am spending most of my time 
>reading up on the parts I do not understand clearly, but sometimes it helps to 
>be pointed in the right direction to get going.
>
>  Thanks,
>
>Richard
>
>
>
>------------------------------------------------------------------------------
>Create and publish websites with WebMatrix
>Use the most popular FREE web apps or write code yourself;
>WebMatrix provides all the features you need to develop and
>publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
>
>_______________________________________________
>alchemi-users mailing list
>[email protected]
>https://lists.sourceforge.net/lists/listinfo/alchemi-users
>
>
------------------------------------------------------------------------------
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
_______________________________________________
alchemi-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/alchemi-users

Reply via email to