Excellent - I'll check it out. I've been off in the WCF fun house lately, wrote a simple WCF-based messaging system (service bus, sagas, pub/sub, etc...) in the spirit of RSB to enable the team to embrace messaging as a core concept using the tools they know and that are "approved" as bringing in RSB directly was promptly shot down by our architecture overlords. It's a sad state of affairs, I know, but my hope is that we can "graduate", if you will, to RSB / NSB / etc... when these boneheads are out of the picture and we are charged with building the real system after this "architectural elaboration" RUP B.S. is over. The team is really getting into the messaging concept though, which is great. If you remember from the conversation we had a while back, I've got a tough hill to climb, but I'm making progress...it's tough when you bring up the notion of messaging, pub/sub, etc... and the architects say that we would have to use WebMethods for stuff like that, which the enterprise has purchased recently. <shudder> Or "we should look at making that operation asynchronous so we're not blocking on a potentially long response time from XYZ 3rd party" and they come back with "every call should be synchronous - you're going to want to know that the system did what you expected it to - besides, that's easier to develop, too" Smile and nod, thank you architecture astronauts, I'll go now and build a real system - you can go back to watching your WebMethods webinar. They're more interested in things like being the guinea pigs for Microsoft's new Geneva framework and using WS-Trust and federated security for our authentication story. When it takes an entire wall-sized whiteboard and a room full of developers over an hour to diagram how someone authenticates to the system with a username and password, something HAS to be wrong with this picture...ugh... The whiteboard looks like diagram of a football play gone terribly, terribly wrong...
Sorry - enough of my bitching :) I'll definitely check out the latest changes - can't wait. Thanks, Matt On Wed, Feb 11, 2009 at 11:03 AM, Ayende Rahien <[email protected]> wrote: > BTW, I reproduced this and fixed it. > > On Wed, Feb 4, 2009 at 7:39 PM, Matt Burton <[email protected]> wrote: >> >> I tried and failed to reproduce the issue a couple of days ago but had >> to move on to other things - sorry didn't remember to send and update >> on my status. As I said before it is an intermittent problem - >> something happens to cause a malformatted message to get added to the >> subscription queue and during host startup when it's reading the >> subscriptions it blows up when encountering this message. The >> "shutdown bus" messages are sent to the endpoint queue, not the >> subscription queue. As soon as I have free time I'll try it again - >> whenever I'm able to reproduce it I'll be sure to send the actual >> message to the list along with (hopefully) the circumstances under >> which it occurred. >> >> On Wed, Feb 4, 2009 at 9:27 AM, Ayende Rahien <[email protected]> wrote: >> > But this is never reaching into the actual app! >> > >> > On Wed, Feb 4, 2009 at 7:25 PM, Mike Nichols <[email protected]> >> > wrote: >> >> >> >> Matt- >> >> I think this is due to the bus shutdown message : "Shutdown bus" which >> >> isn't formatted in xml. >> >> >> >> On Feb 2, 7:58 pm, Ayende Rahien <[email protected]> wrote: >> >> > applied >> >> > >> >> > On Mon, Feb 2, 2009 at 2:02 PM, Matt Burton <[email protected]> >> >> > wrote: >> >> > > Yep - that's what I wound up doing. Figured out what was going >> >> > > wrong - >> >> > > see the attached patch - the shorthand versions of the command line >> >> > > arguments aren't getting parsed correctly ("asm", "cfg", etc...) - >> >> > > when the ExecutingOptions instance is converted to a string it uses >> >> > > the short versions. I changed the ToString implementation to use >> >> > > the >> >> > > long versions, which do get parsed correctly, and then that's the >> >> > > string that gets written to the registry for the ImagePath. Good to >> >> > > go. My service still wouldn't start at that point but luckily the >> >> > > event log told me what was going on - service didn't have >> >> > > permissions >> >> > > for the queue - d'oh! :) I'm sure you would rather that the root >> >> > > issue >> >> > > with parsing the arguments is solved but unfortunately I need to >> >> > > move >> >> > > on at this point. If you want I could try to dig into that late >> >> > > tonight. >> >> > >> >> > > While I've got you I've noticed an intermittent issue wherein I'll >> >> > > have a problem starting a service, but my subscriptions were stored >> >> > > before the process bombs. When I fix the issue and restart the >> >> > > service >> >> > > I get a deserialization error sometimes when it reads the >> >> > > subscription >> >> > > queue complaining about missing the root element in the document. >> >> > > The >> >> > > remedy is to purge the subscription queue and start over but it >> >> > > would >> >> > > be nice to know what's happening in the interim. Any ideas? >> >> > >> >> > > On Mon, Feb 2, 2009 at 1:19 PM, Ayende Rahien <[email protected]> >> >> > > wrote: >> >> > > > Put a System.Diagnostics.Debugger.Launch() in it. >> >> > >> >> > > > On Mon, Feb 2, 2009 at 11:16 PM, Matt Burton >> >> > > > <[email protected]> >> >> > > wrote: >> >> > >> >> > > >> Ah - gotcha. Okay - I'll take a look - getting the ever helpful >> >> > > >> "Service cannot be started. The service process could not >> >> > > >> connect >> >> > > >> to >> >> > > >> the service controller" message in the event log... >> >> > >> >> > > >> On Mon, Feb 2, 2009 at 1:12 PM, Ayende Rahien >> >> > > >> <[email protected]> >> >> > > wrote: >> >> > > >> > That is an old version of the host. >> >> > > >> > On Mon, Feb 2, 2009 at 11:08 PM, Matt Burton >> >> > > >> > <[email protected]> >> >> > > >> > wrote: >> >> > >> >> > > >> >> Alright - I'll give it a go and see if I can figure out >> >> > > >> >> what's >> >> > > >> >> going >> >> > > >> >> on. I know you said you were using RSB for the NHProf site - >> >> > > >> >> how >> >> > > >> >> are >> >> > > >> >> you hosting the services for that? I'm looking to integrate >> >> > > >> >> this >> >> > > >> >> into >> >> > > >> >> our current codebase and I'm keen on getting the host to work >> >> > > >> >> so >> >> > > >> >> I >> >> > > >> >> don't have to go reinventing the wheel - but if there's a >> >> > > >> >> simpler way >> >> > > >> >> I can use in the interim I'm all ears... >> >> > >> >> > > >> >> On Mon, Feb 2, 2009 at 1:05 PM, Ayende Rahien >> >> > > >> >> <[email protected]> >> >> > > >> >> wrote: >> >> > > >> >> > Not tested yet. >> >> > >> >> > > >> >> > On Mon, Feb 2, 2009 at 11:00 PM, Matt Burton < >> >> > > [email protected]> >> >> > > >> >> > wrote: >> >> > >> >> > > >> >> >> Excellent - thanks! Are you able to host and run services >> >> > > >> >> >> now? >> >> > >> >> > > >> >> >> On Mon, Feb 2, 2009 at 3:27 AM, Ayende Rahien >> >> > > >> >> >> <[email protected]> >> >> > > >> >> >> wrote: >> >> > > >> >> >> > applied >> >> > >> >> > > >> >> >> > On Fri, Jan 30, 2009 at 6:27 AM, Matt Burton >> >> > > >> >> >> > <[email protected]> >> >> > > >> >> >> > wrote: >> >> > >> >> > > >> >> >> >> Sure thing - there you go. This gets around the install >> >> > > problem, >> >> > > >> >> >> >> but >> >> > > >> >> >> >> like I said, the service won't start - haven't been >> >> > > >> >> >> >> able >> >> > > >> >> >> >> to dig >> >> > > >> >> >> >> into >> >> > > >> >> >> >> that to diagnose yet... >> >> > >> >> > > >> >> >> >> Thanks, >> >> > > >> >> >> >> Matt >> >> > >> >> > > >> >> >> >> On Thu, Jan 29, 2009 at 6:44 PM, Ayende Rahien >> >> > > >> >> >> >> <[email protected]> >> >> > > >> >> >> >> wrote: >> >> > > >> >> >> >> > Can you create a patch? It is hard for me to see what >> >> > > >> >> >> >> > was >> >> > > >> >> >> >> > changed. >> >> > >> >> > > >> >> >> >> > On Thu, Jan 29, 2009 at 6:23 PM, Matt Burton >> >> > > >> >> >> >> > <[email protected]> >> >> > > >> >> >> >> > wrote: >> >> > >> >> > > >> >> >> >> >> No matter what combination I try I wind up with the >> >> > > following >> >> > > >> >> >> >> >> error >> >> > > >> >> >> >> >> when attempting to install a service using the >> >> > > >> >> >> >> >> host... >> >> > >> >> > > C:\dev\rsb-spike\Services\bin\Debug>Rhino.ServiceBus.Host.exe >> >> > > >> >> >> >> >> /action:Install /asm:"Services.dll" >> >> > > >> >> >> >> >> /name:"ApplicationServices" >> >> > > >> >> >> >> >> Installing service ApplicationServices... >> >> > > >> >> >> >> >> Creating EventLog source ApplicationServices in log >> >> > > >> >> >> >> >> Application... >> >> > > >> >> >> >> >> System.InvalidOperationException: Cannot get service >> >> > > >> >> >> >> >> file >> >> > > >> >> >> >> >> name. >> >> > > >> >> >> >> >> at >> >> > > >> >> >> >> >> >> >> > > >> >> >> >> >> >> >> > > >> >> >> >> >> System.ServiceProcess.ServiceInstaller.Install(IDictionary >> >> > > >> >> >> >> >> stateSaver) >> >> > > >> >> >> >> >> at >> >> > > >> >> >> >> >> >> >> > > >> >> >> >> >> >> >> > > >> >> >> >> >> System.Configuration.Install.Installer.Install(IDictionary >> >> > > >> >> >> >> >> stateSaver) >> >> > > >> >> >> >> >> at >> >> > >> >> > > >> >> > > Rhino.ServiceBus.Host.Actions.InstallAction.Execute(ExecutingOptions >> >> > > >> >> >> >> >> options) in C:\dev\open-source\rhino-tools.ti >> >> > >> >> > > >> >> > > >> >> > > p\trunk\rhino-service.bus\Rhino.ServiceBus.Host\Actions\InstallAction.cs:line >> >> > > >> >> >> >> >> 18 >> >> > > >> >> >> >> >> at Rhino.ServiceBus.Host.Program.Main(String[] >> >> > > >> >> >> >> >> args) >> >> > > >> >> >> >> >> in >> >> > >> >> > > C:\dev\open-source\rhino-tools.tip\trunk\rhino-service.bus\Rh >> >> > > >> >> >> >> >> ino.ServiceBus.Host\Program.cs:line 31 >> >> > >> >> > > >> >> >> >> >> I hacked on it for a bit and was able to get the >> >> > > >> >> >> >> >> service to >> >> > > >> >> >> >> >> install >> >> > > >> >> >> >> >> by >> >> > > >> >> >> >> >> changing the InstallAction implementation to the >> >> > > >> >> >> >> >> following: >> >> > >> >> > > >> >> >> >> >> public void Execute(ExecutingOptions options) >> >> > > >> >> >> >> >> { >> >> > >> >> > > >> >> >> >> >> var installer = new ProjectInstaller >> >> > > >> >> >> >> >> { >> >> > > >> >> >> >> >> DisplayName = options.Name, >> >> > > >> >> >> >> >> Description = options.Name, >> >> > > >> >> >> >> >> Context = new InstallContext() >> >> > > >> >> >> >> >> }; >> >> > > >> >> >> >> >> installer.Context.Parameters.Add("assemblypath", >> >> > > >> >> >> >> >> this.GetType().Assembly.Location); >> >> > > >> >> >> >> >> installer.Install(new Hashtable()); >> >> > > >> >> >> >> >> using (var system = >> >> > > >> >> >> >> >> Registry.LocalMachine.OpenSubKey("System")) >> >> > > >> >> >> >> >> using (var currentControlSet = >> >> > > >> >> >> >> >> system.OpenSubKey("CurrentControlSet")) >> >> > > >> >> >> >> >> using (var services = >> >> > > >> >> >> >> >> currentControlSet.OpenSubKey("Services")) >> >> > > >> >> >> >> >> using (var service = >> >> > > >> >> >> >> >> services.OpenSubKey(installer.ServiceName, >> >> > > >> >> >> >> >> true)) >> >> > > >> >> >> >> >> { >> >> > > >> >> >> >> >> var path = >> >> > > >> >> >> >> >> (string)service.GetValue("ImagePath"); >> >> > >> >> > > >> >> >> >> >> options.Action = Action.Server; >> >> > >> >> > > >> >> >> >> >> service.SetValue("ImagePath", path + >> >> > > >> >> >> >> >> options); >> >> > > >> >> >> >> >> } >> >> > > >> >> >> >> >> } >> >> > >> >> > > >> >> >> >> >> Notice the addition of the "assemblypath" context >> >> > > >> >> >> >> >> and >> >> > > >> >> >> >> >> then >> >> > > >> >> >> >> >> changing >> >> > > >> >> >> >> >> the Action to Server. I can now install and >> >> > > >> >> >> >> >> uninstall >> >> > > >> >> >> >> >> but >> >> > > the >> >> > > >> >> >> >> >> service >> >> > > >> >> >> >> >> won't start - I'm getting the following message in >> >> > > >> >> >> >> >> the >> >> > > >> >> >> >> >> event >> >> > > >> >> >> >> >> viewer: >> >> > >> >> > > >> >> >> >> >> "Service cannot be started. The service process >> >> > > >> >> >> >> >> could >> >> > > >> >> >> >> >> not >> >> > > >> >> >> >> >> connect >> >> > > >> >> >> >> >> to >> >> > > >> >> >> >> >> the service controller" >> >> > >> >> > > >> >> >> >> >> Any thoughts? >> >> > >> >> > > >> >> >> >> >> Thanks, >> >> > > >> >> >> >> >> Matt >> >> >> > >> > >> > > >> > >> >> > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Rhino Tools Dev" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rhino-tools-dev?hl=en -~----------~----~----~----~------~----~------~--~---
