07-03-04 02:10 AM
Let me explain the scenario..
Created a custom resource (.Net Component) called=20
ABCDService which uses ADO.Net with oleDb resources to do=20
read and writes to the database.
This custom resource is instantiated using a custom=20
commerce module CommerceABCDModule...
There are two pipeline components...
1. ComputeABCDPoints - this component calculates values=20
based on the user_id and order totals and stores them=20
into the basket.
2. RecordABCDPoints - this component reads the values=20
previously created and writes them into the database.
Both these pipeline components are registered for COM=20
Interop and registered for the "Accept" stage.
Within the ABCDService, the required resource tables are=20
loaded into a DataSet during the Initialise phase. the=20
second component RecordABCDPoints is calling a=20
method "LogABCDTransaction" which is adding a record to=20
one of the tables in the DataSet and calls=20
DataSet.AcceptChanges() on successfull write.
Both these components are part of the checkout pipeline=20
which runs in a transacted mode.
The Custom Commerce Module, the pipeline components, the=20
ABCD Service class are all part of one project which is=20
registered for COM Interop and loaded using regasm /tlb:=20
and gacutil /i...
The Pipeline Components have a GUID attribute defined.
The ABCDService is NOT a serviced component.
Does this help you ?
Regards.
>-----Original Message-----
>Well, it's hard to say without knowing anything about=20
the internals of your=20
>pipeline component.
>
>Is the pipeline component registered in COM+ by chance? =20
Generally you do=20
>not need/want to do this since the Pipeline objects=20
themselves are=20
>registered in COM+ and you can choose the transaction=20
settings of the=20
>pipeline you use.
>
>Which type of pipeline are you using? Is this in .NET=20
site using=20
><pipelines> tag in Web.config? If so, it will be=20
PooledPipeline, which may=20
>be a contributing factor. Is the component registered=20
as poolable (marked=20
>with the COM category GUID that indicates to the=20
pipeline that it meets the=20
>criteria to be pooled)? If so, does it really? :-)
>
>Silly question, but have you attached a debugger to see=20
what line of code=20
>is returning E_NOINTERFACE, or is not even getting into=20
your component the=20
>second time?
>
>regards
>-djm
>--=20
>This posting is provided "AS IS" with no warranties, and=20
confers no rights.
>You assume all risk for your use. =A9 2004 Microsoft=20
Corporation. All rights
>reserved.
>
>--------------------
>Content-Class: urn:content-classes:message
>From: "Ravi Shankar" <shankar.nospam@hp.com>
>Sender: "Ravi Shankar" <shankar.nospam@hp.com>
>Subject: No error information available: E_NOINTERFACE
(0x80004002).
>Date: Thu, 1 Jul 2004 08:56:42 -0700
>Lines: 8
>Message-ID: <2455b01c45f84$00769630$a301280a@phx.gbl>
>MIME-Version: 1.0
>Content-Type: text/plain;
> charset=3D"iso-8859-1"
>Content-Transfer-Encoding: 7bit
>X-Newsreader: Microsoft CDO for Windows 2000
>Thread-Index: AcRfhAB2Qq0s1gxYTym3nMQCWLXdvw=3D=3D
>X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
>Newsgroups: microsoft.public.commerceserver.general
>Path: cpmsftngxa06.phx.gbl
>Xref: cpmsftngxa06.phx.gbl=20
microsoft.public.commerceserver.general:14178
>NNTP-Posting-Host: tk2msftngxa11.phx.gbl 10.40.1.163
>X-Tomcat-NG: microsoft.public.commerceserver.general
>
>My custom pipeline component fails with this error=20
>message being logged in Event Viewer and Pipeline Log.
>
>This happens the SECOND time this pipeline is called.=20
The=20
>first time the component completes successfully.
>
>What could be the problem ????
>
>
[ Post a follow-up to this message ]
|