all groups > dotnet component services > january 2008 >
You're in the

dotnet component services

group:

exhausted, beaten - C# COM+ component as a web services...FileNotFoundException


exhausted, beaten - C# COM+ component as a web services...FileNotFoundException uncle
1/22/2008 11:31:25 AM
dotnet component services: - I have a class lib C# project that has a few methods and the (I
think) proper magic for managing via COM+.
- I can expose it via SOAP using the property dialog (identity tab)
uses soap checkbox.
- A virtual directory magically shows up in IIS.
- I am running on Windows Server 2003 Standard

When I hit the url for the service (http://localhost/Cache/
COMPlusCache.Cache.soap?WSDL) I get some FileNotFoundException mess
(see below).

So, what have I tried? glad you asked...
- giving the C:\WINDOWS\Temp directory very open permissions (as
suggested by someone)
- giving C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary
ASP.NET Files very open permissions
- trying ASP.NET 2.0.50727 (instead of 1.1.4322) - just get nothing
from the wsdl url
- switching to release mode when I build my dll

Setup wise, I have...
- signed dll
- regsvcs Cache.dll
- gacutil /i Cache.dll


ANY HELP !!! pleeeeeaaaaase



result from http://localhost/Cache/COMPlusCache.Cache.soap?WSDL

System.IO.FileNotFoundException: File or assembly name Cache, or one
of its dependencies, was not found.
File name: "Cache"
at System.Reflection.Assembly.nLoad(AssemblyName fileName, String
codeBase, Boolean isStringized, Evidence assemblySecurity, Boolean
throwOnFileNotFound, Assembly locationHint, StackCrawlMark& stackMark)
at System.Reflection.Assembly.InternalLoad(AssemblyName
assemblyRef, Boolean stringized, Evidence assemblySecurity,
StackCrawlMark& stackMark)
at System.Reflection.Assembly.InternalLoad(String assemblyString,
Evidence assemblySecurity, StackCrawlMark& stackMark)
at System.Reflection.Assembly.Load(String assemblyString)
at System.Runtime.Remoting.RemotingConfigInfo.LoadType(String
typeName, String assemblyName)
at
System.Runtime.Remoting.RemotingConfigInfo.GetServerTypeForUri(String
URI)
at
System.Runtime.Remoting.RemotingConfigHandler.GetServerTypeForUri(String
URI)
at
System.Runtime.Remoting.RemotingServices.GetServerTypeForUri(String
URI)
at
System.Runtime.Remoting.Channels.Http.HttpRemotingHandler.CanServiceRequest(HttpContext
context)
at
System.Runtime.Remoting.Channels.Http.HttpRemotingHandler.InternalProcessRequest(HttpContext
context)

=== Pre-bind state information ===
LOG: DisplayName = Cache, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=fcc054921a88ed92
(Fully-specified)
LOG: Appbase = file:///C:/WINDOWS/system32/com/SoapVRoots/Cache
LOG: Initial PrivatePath = bin
Calling assembly : (Unknown).
===

LOG: Publisher policy file is not found.
LOG: No redirect found in host configuration file (c:\windows
\microsoft.net\framework\v1.1.4322\aspnet.config).
LOG: Using machine configuration file from C:\WINDOWS\Microsoft.NET
\Framework\v1.1.4322\config\machine.config.
LOG: Post-policy reference: Cache, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=fcc054921a88ed92
LOG: Attempting download of new URL file:///c:/windows/microsoft.net/framework/v1.1.4322/Temporary
ASP.NET Files/cache/b38bb36f/b2e75973/Cache.DLL.
LOG: Attempting download of new URL file:///c:/windows/microsoft.net/framework/v1.1.4322/Temporary
ASP.NET Files/cache/b38bb36f/b2e75973/Cache/Cache.DLL.
LOG: Attempting download of new URL file:///C:/WINDOWS/system32/com/SoapVRoots/Cache/bin/Cache.DLL.
LOG: Attempting download of new URL file:///C:/WINDOWS/system32/com/SoapVRoots/Cache/bin/Cache/Cache.DLL.
LOG: Attempting download of new URL file:///c:/windows/microsoft.net/framework/v1.1.4322/Temporary
ASP.NET Files/cache/b38bb36f/b2e75973/Cache.EXE.
LOG: Attempting download of new URL file:///c:/windows/microsoft.net/framework/v1.1.4322/Temporary
ASP.NET Files/cache/b38bb36f/b2e75973/Cache/Cache.EXE.
LOG: Attempting download of new URL file:///C:/WINDOWS/system32/com/SoapVRoots/Cache/bin/Cache.EXE.
Re: exhausted, beaten - C# COM+ component as a web services...FileNotFoundException uncle
1/22/2008 6:23:42 PM
On Jan 22, 7:12 pm, "John Saunders [MVP]" <john.saunders at
[quoted text, click to view]

The Cache.dll the comes from building my project is in c:\aktxyz\Cache
\Cache.dll
- I then register the dll into the GAC
- I then register the dll as a com+ component
- I then enable the com+ component for soap activation

This last step is supposed to automagically create the virtual
directory (in the C:\Windows\System32\com\SoapVRoots folder). I have
read different things about the dll automatically being generated for
the SoapVRoots and something about the ASP.NET temp directory. All
the instructions I have been able to find imply that there should be
Re: exhausted, beaten - C# COM+ component as a web services...FileNotFoundException uncle
1/22/2008 6:29:54 PM
[quoted text, click to view]



So, another set of questions would be
- where should the Cache.DLL go?
- who should put it there?
- is it the same Cache.DLL as spit out by my class lib C# project?
- I don't think so, I think it is some auto generated proxy of some
sort
Re: exhausted, beaten - C# COM+ component as a web services...FileNotFoundException John Saunders [MVP]
1/22/2008 8:12:17 PM
[quoted text, click to view]

So, where _is_ Cache.dll located? It appears that it should be in
C:\Windows\System32\com\SoapVRoots\Cache\bin\Cache.dll.
--
--------------------------------------------------------------------------------
John Saunders | MVP - Windows Server System - Connected System Developer

Re: exhausted, beaten - C# COM+ component as a web services...FileNotFoundException John Saunders [MVP]
1/23/2008 1:40:02 PM
[quoted text, click to view]

Why not try copying your Cache.dll to
C:\Windows\System32\com\SoapVRoots\Cache\bin\ and see what happens?
--
--------------------------------------------------------------------------------
John Saunders | MVP - Windows Server System - Connected System Developer

Re: exhausted, beaten - C# COM+ component as a web services...FileNotFoundException uncle
1/24/2008 7:53:03 PM
Tried that, BadImageFormatException.

On Jan 23, 12:40 pm, "John Saunders [MVP]" <john.saunders at
[quoted text, click to view]
Re: exhausted, beaten - C# COM+ component as a web services...FileNotFoundException John Saunders [MVP]
1/25/2008 5:43:51 AM
[quoted text, click to view]

If the DLL isn't in C:\Windows\System32\com\SoapVRoots\Cache\bin\, then you
get a file not found. If it _is_ in
C:\Windows\System32\com\SoapVRoots\Cache\bin\, you get bad image format
instead of file not found. I think that means that it *found* the file and
that it has a bad image format.
--
--------------------------------------------------------------------------------
John Saunders | MVP - Windows Server System - Connected System Developer

Re: exhausted, beaten - C# COM+ component as a web services...File caractacus
3/7/2008 12:58:00 AM
I am having trouble in this area, but I solved the File not Found message:

Ensure that the DLL containing your interfaces is also installed into the
GAC. It's your DLL's dependencies that are not being found.

I moved my interfaces into the ServicedComponent DLL before I understood the
problem.

With regard to the discussion up to this point - it's in the GAC. You do
not need to copy it anywhere.

I am having ongoing problems with this in VISTA on .NET 2.0. I can't get
SOAP to work on serviced components - there's no WSDL support and the .soap
url reports tht the service cannot be found. At least I managed to figure out
that you MUST have an HTTPS binding on the defauilt web site to even enable
'Uses SOAP'.

Guys, please update your documentation! We're exhausted, beaten.


[quoted text, click to view]
Re: exhausted, beaten - C# COM+ component as a web services...File John Saunders [MVP]
3/7/2008 11:00:15 AM
[quoted text, click to view]

I'd suggest you start a new thread about your ongoing problems.
--
--------------------------------------------------------------------------------
John Saunders | MVP - Windows Server System - Connected System Developer

AddThis Social Bookmark Button