com+

Troubleshooting a COM+ application deadlock

谁说胖子不能爱 提交于 2019-12-05 21:26:43
I'm trying to troubleshoot a COM+ application that deadlocks intermittently. The last time it locked up, I was able to take a usermode dump of the dllhost process and analyze it using WinDbg. After inspecting all the threads and locks, it all boils down to a critical section owned by this thread: ChildEBP RetAddr Args to Child 0deefd00 7c822114 77e6bb08 000004d4 00000000 ntdll!KiFastSystemCallRet 0deefd04 77e6bb08 000004d4 00000000 0deefd48 ntdll!ZwWaitForSingleObject+0xc 0deefd74 77e6ba72 000004d4 00002710 00000000 kernel32!WaitForSingleObjectEx+0xac 0deefd88 75bb22b9 000004d4 00002710

C# - Retrieve properties of a COM+ component?

青春壹個敷衍的年華 提交于 2019-12-05 11:20:42
I have a COM+ component on a server (Windows Server 2003). Is there any way I can programmatically retrieve the properties of this component, (e.g. the constructor string used)? When I go to Administritive Tools -> Component Services -> COM+ Applications and right click on my component, these are the properties I want to be able to retrieve and write to a file. Is there any way I can do this? Thanks in advance. You can use the COM+ Administration API to retrieve the properties of a component. The various collections you can retrieve can be found here . From visual studio you would add a

COM Interop, RPC server is unavailable in c#

孤街醉人 提交于 2019-12-05 10:31:02
I am using a COM Interop and i am instantiating the COM class object from the interop dll So, few times the object is instantiated successfully and make remote procedure calls without any problem but sometimes it throws an exception like RPC Server is unavilable. The COM Component i am using is written in VB and i am consuming that component in c#. So, can anybody tell me the possible reasons for the problem(RPC Server is Unavailable) and solutions to this problem. I am helpless with this issue by now. So, Advance thanks if you can help me out After reviewing my approach for COM implementation

How to modify COM+ applications from powershell

不打扰是莪最后的温柔 提交于 2019-12-04 15:42:48
I am automating the creation of a web server. An application is created for me, but I need to manually change the Identity of a COM+ Application to run as a specific user. Being a linux admin with little experience with powershell, I'm in over my head. It looks like there is an API to modify COM+ applications. https://msdn.microsoft.com/en-us/library/ms679173(v=vs.85).aspx From this stackoverflow question , I've gotten this far in modifying the application $comAdmin = New-Object -comobject COMAdmin.COMAdminCatalog $apps = $comAdmin.GetCollection(“Applications”) $apps.Populate(); I am able to

Classic ASP using COM+ on x64 Windows Server 2008 and IIS7

六月ゝ 毕业季﹏ 提交于 2019-12-04 12:54:20
(Note: I thought about posting this to serverfault, but I figured more developers have banged their heads against these issues than admins) I'm trying to set up a web page that uses both ASP Classic and ASP.NET 2.0 in the environment mentioned above. After applying many common fixes on the web and a few lucky guesses, the ASP.NET 2.0 pages are finally running fine (Minus COM+). The ASP Classic pages aren't running at all. So I'm thinking the x64 environment is a the cause of most of my problems. Is there anyone here using old COM+ stuff with ASP Classic and ASP.NET in x64 and IIS7 with some

com4j versus jacob to call COM methods from Java

旧巷老猫 提交于 2019-12-04 11:05:53
问题 I maintain a legacy Java application that uses Jacob, or Java-COM Bridge, to make calls via the COM interfaces of MS VBA and MS Word. I have been looking at com4j from Sun, and it looks promising. The reason it looks good to me is that it uses vtable binding to methods, instead of IDispatch. Assuming all the COM objects we manipulate present vtable interfaces, it seems cleaner to use them instead of IDispatch. Back in the days when COM and CORBA where the hot binary interface technologies, I

Calling a remote COM+ ServicedComponent from a C# client

孤者浪人 提交于 2019-12-04 06:07:49
I have a serviced component installed in a COM+ server application. I want to create an instance from a remote client. The client needs to be able to specify the server machine's name dynamically. How do I do this? I tried using Activator: (XSLTransComponent.XSLTransformer)Activator.GetObject( typeof(XSLTransComponent.XSLTransformer), serverName ); But I get this: System.Runtime.Remoting.RemotingException: Cannot create channel sink to connect to URL 'server'. An appropriate channel has probably not been registered. at System.Runtime.Remoting.RemotingServices.Unmarshal(Type classToProxy,

Delphi SOAP Client can not keep more than 2 concurrent requests. How to increase?

杀马特。学长 韩版系。学妹 提交于 2019-12-04 04:36:59
I have a multi-user COM+ application that needs to make multiple requests on SOAP WebServices. Each SOAP request may last from 10 to 60 seconds (that is not under my control). Problem is, I can never make more than 2 requests at the same time. When I have, for example, 3 concurrent requests the third requests only starts when the second one finishes. I watched the same behaviour on a console application (for testing purposes) making multiple concurrent requests to the same WebService, and I was again limited to 2 requests. When I tried to consume the same WebServices with another language (C#)

Why would QueryInterface() fail when the interface is surely implemented and has built-in marshaller in Windows?

a 夏天 提交于 2019-12-02 06:22:22
问题 I have the following setup. There's a COM server that is installed into COM+ (to run in a separate process) and has this interface definition: [object, uuid("InterfaceIdHere"), nonextensible, oleautomation, hidden] interface IMyInterface : IUnknown { HRESULT MyMethod( [in] IUnknown* param ); }; The caller calls it like this: HRESULT callComObject(IStream* stream) { return comObject->MyMethod(stream); } Note that here IStream* is implicitly upcasted to IUnknown* . This is done because

Why would QueryInterface() fail when the interface is surely implemented and has built-in marshaller in Windows?

让人想犯罪 __ 提交于 2019-12-02 03:35:24
I have the following setup. There's a COM server that is installed into COM+ (to run in a separate process) and has this interface definition: [object, uuid("InterfaceIdHere"), nonextensible, oleautomation, hidden] interface IMyInterface : IUnknown { HRESULT MyMethod( [in] IUnknown* param ); }; The caller calls it like this: HRESULT callComObject(IStream* stream) { return comObject->MyMethod(stream); } Note that here IStream* is implicitly upcasted to IUnknown* . This is done because declaring a parameter of type IStream* in IDL caused some problems that I can't recall right now. Anyway it's