This is just a wild guess, but do you have a public, parameterless ctor?

--
Patrick Steele
Microsoft .NET MVP
http://weblogs.asp.net/psteele



-----Original Message-----
From: Discussion of advanced .NET topics.
[mailto:[EMAIL PROTECTED] On Behalf Of Eric Means
Sent: Friday, June 30, 2006 11:26 AM
To: [email protected]
Subject: [ADVANCED-DOTNET] Client Activated Object - Can't find ..ctor?


I have a client-activated object that is failing with a
RemotingException. The exception's message is "The method '.ctor' was
not found on the interface/type 'My.Type, MyTypeLibrary,
Version=1.0.2371.15203, Culture=neutral, PublicKeyToken=null'.".

The client code is hosted in Internet Explorer; the server code is
hosted in IIS, using the binary channel over HTTP.

The client is using the following config values:
  <system.runtime.remoting>
    <application>
      <client url="http://localhost/MyVirtualDir/";>
        <activated type="My.Type, MyTypeLibrary"/>
      </client>
      <channels>
        <channel ref="http">
          <clientProviders>
            <formatter ref="binary" />
          </clientProviders>
        </channel>
      </channels>
    </application>
  </system.runtime.remoting>

The server web.config includes:
        <system.runtime.remoting>
                <application>
                        <service>
                                <activated type="My.Type,
MyTypeLibrary"/>
                        </service>
                        <channels>
                                <channel ref="http">
                                        <serverProviders>
                                                <formatter
ref="binary"/>
                                        </serverProviders>
                                </channel>
                        </channels>
                </application>
        </system.runtime.remoting>

The MyTypeLibrary does exist in the web application's bin directory.

One other oddity is that the IE-hosted control is being served from a
different virtual directory. The file structure looks like this:
MyVirtualDir (virtual dir)  -> \bin  -> \bin\MyTypeLibrary.dll  ->
\DownloadBin (virtual dir, from elsewhere in the filesystem)  ->
\DownloadBin\MyControl.dll

The full stack trace (at the point where it leaves my code) is:

Server stack trace:
   at
System.Runtime.Remoting.Activation.LocalActivator.GetMethodBase(IConstru
ctionCallMessage
msg)
   at
System.Runtime.Remoting.Activation.LocalActivator.Activate(IConstruction
CallMessage
ctorMsg)
   at
System.Runtime.Remoting.Activation.ActivationListener.Activate(IConstruc
tionCallMessage
ctorMsg)
   at
System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessag
e(IntPtr
md, Object[] args, Object server, Int32 methodPtr, Boolean
fExecuteInContext, Object[]& outArgs)
   at
System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage
(RuntimeMethodHandle
md, Object[] args, Object server, Int32 methodPtr, Boolean
fExecuteInContext, Object[]& outArgs)
   at
System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IM
essage
msg, Int32 methodPtr, Boolean fExecuteInContext)

Exception rethrown at [0]:
   at
System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
reqMsg, IMessage retMsg)
   at
System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&
msgData, Int32 type)
   at
System.Runtime.Remoting.Activation.IActivator.Activate(IConstructionCall
Message
msg)
   at
System.Runtime.Remoting.Activation.LocalActivator.DoRemoteActivation(ICo
nstructionCallMessage
ctorMsg)
   at
System.Runtime.Remoting.Activation.LocalActivator.Activate(IConstruction
CallMessage
ctorMsg)
   at
System.Runtime.Remoting.Activation.AppDomainLevelActivator.Activate(ICon
structionCallMessage
ctorMsg)
   at
System.Runtime.Remoting.Messaging.ClientContextTerminatorSink.SyncProces
sMessage(IMessage
reqMsg)
   at
System.Runtime.Remoting.Activation.ActivationServices.Activate(RemotingP
roxy
remProxy, IConstructionCallMessage ctorMsg)
   at System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(IMessage
reqMsg)
   at
System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&
msgData, Int32 type)
   at My.Type..ctor(Boolean param)

There is no InnerException.
How should I go about debugging this? The site has FullTrust in the CAS
policy (I've already verified that). Why is it not finding the
constructor?

--
Eric Means
[EMAIL PROTECTED]
http://www.randomtree.org/eric/

===================================
This list is hosted by DevelopMentorR  http://www.develop.com

View archives and manage your subscription(s) at
http://discuss.develop.com

===================================
This list is hosted by DevelopMentorĀ®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to