Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Can you clarify some COM+ concepts?
Message
From
17/06/2003 10:06:03
 
 
To
16/06/2003 22:46:05
General information
Forum:
Visual FoxPro
Category:
COM/DCOM and OLE Automation
Miscellaneous
Thread ID:
00800646
Message ID:
00800771
Views:
30
Jim,

In what I have read about Web Services, and played with, you don't have to host your com object in COM+ as far as I see.

http://www.west-wind.com/presentations/xmlmessaging/soapwebservices.htm

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnfoxgen7/html/vfpws.asp

Also, in FoxTalk Whil did a 4 part series on VFP Web Services which may help you out.

BOB


>Craig,
>
>You seem to be one of few experts on COM+ here. I've been looking at creating a web service for a real application and I've hit a number of stumbling blocks. I'm hoping that you can answer some questions that have arisen regarding the COM+ part of that facility. I've read the articles on your web site.
>
>The Walkthrough in the VFP8 Help has the creation of a MTDLL as one of the steps to creating a web service. I'll assume that MTDLLs are the only way to make a go of a web service.
>
>Now on to my questions:
>1) Your part I says "First, your application should be stateless. This means that your client program should instantiate the component, make calls to a method, and then release the component.". The code following has lines:
      * Create a reference to the MTS object
>      loMtx = CREATEOBJECT("MTXAS.APPSERVER.1")
>      * Create a reference to the Context object
>      loContext = loMtx.GetObjectContext()
>o
>o
>o
>      * Commit the transaction if there is one and
>      * tell MTS that we're done using the component
>      loContext.SetComplete()
I find nothing in standard VFP8 documentation mentioning MTXAS or SetComplete().
>Q1 What happens if I just build my MTDLL and leave out this code?
>
>Q2 How can my client code be "stateless" when I first have to instantiate X, then get control back, then execute some method of X, then get control back,(then execute some other method of X...)?
>
>Q3 How can one "SetComplete" within the MTDLL?... How would it know if the client has finished? (in particular the "done" part shown in the code in part III:
    * Handle activation setting (Done)
>    * .T. = Deactivate, .F. = Leave activated
>    loContextState.SetDeactivateOnReturn(llDone)
>    loContextState.GetDeactivateOnReturn(@llGetDone)
)
>
>Q4 Would one code for SetComplete() ("DONE", actually) at the end of every method in a multi-method server?
>
>2) VFP has SYS(2336) - Critical Section support, used to indicate the start/stop of "critical sections" of MTDLL server code. If I understand the concept correctly these are sections of code that must NOT be interrupted (possibly by preemption to another task that may execute the same range of code).
>Q5 What commands of VFP are subject to being affected as "critical section" (I can find nothing that delineates what commands/functions are susceptible)?
>
>Q6 How would I recognize any "critical section" of my own code?
>
>My real objective is to decide if I should deliver a web service for a specific application and these questions seem most relevant to that decision.
>I'll appreciate any clarification you can offer.
Previous
Reply
Map
View

Click here to load this message in the networking platform