I have an application that uses remoting.
I have strongly named every assembly in the application.
I have granted FullTrust based on the key used for strongly naming.
(I did this by creating a code group with the membership criteria being the public key that the assemblies are signed with.)
I have done this on both the remote and local systems.
This application can be run from a local disk (no problem), a remote disk (network share - big problem) and from a web page where
it runs under IEEXEC (big problem)
The local application is designed to connect to multiple and arbitrary servers. I can connect to any server if I run from my
local drive. I can not connect to any server if I invoke through IEEXEC. (Even if the IIS is on my system.)
The problem that I want to solve is the IEEXEC invocation. If you look at the stack trace below find the line with the <<<<<<<<
on it. This method returns a CAO. I believe, based on other information, that the error is occurring on the actual return of the
CAO.
My understanding of CAS keeps telling me that I have not setup the code groups etc correctly, but I THINK that I have.
Any insight would be helpful and appreciated.
Exception:
An error occurred while processing the request on the server: System.Security.SecurityException: Request for the permission of
type System.Security.Permissions.SecurityPermission, mscorlib, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089 failed.
at System.Security.PermissionListSet.CheckDemand(CodeAccessPermission demand, PermissionToken permToken)
at System.Security.CodeAccessSecurityEngine.Check(PermissionToken permToken, CodeAccessPermission demand, StackCrawlMark&
stackMark, Int32 checkFrames, Int32 unrestrictedOverride)
at System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission cap, StackCrawlMark& stackMark, PermissionType permType)
at System.Security.CodeAccessPermission.DemandInternal(PermissionType permissionType)
at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter
serWriter, Boolean fCheck)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[]
headers, Boolean fCheck)
at System.Runtime.Remoting.Channels.CoreChannel.SerializeBinaryMessage(IMessage msg, Boolean includeVersions)
at System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage
requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders,
Stream& responseStream)
at System.Runtime.Remoting.Channels.Tcp.TcpServerTransportSink.ServiceRequest(Object state)
at System.Runtime.Remoting.Channels.SocketHandler.ProcessRequestNow()
Server stack trace:
at System.Runtime.Remoting.Channels.Tcp.TcpSocketHandler.ReadToEndOfHeaders(BaseTransportHeaders headers)
at System.Runtime.Remoting.Channels.Tcp.TcpClientSocketHandler.ReadHeaders()
at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage(IMessage msg, ITransportHeaders requestHeaders,
Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream)
at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg)
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 KMS.Core.Remoting.Shared.SponsoredCAOSponsor.Register(ILease lease, SponsoredCAOBase cao)
at KMS.Core.Remoting.Shared.RemotingManagerBase.FinishCreateServerCAO(Type cao_type, SponsoredCAOSponsor cao_sponsor, Object[]
args_to_pass)
at KMS.Core.Remoting.Shared.RemotingManagerBase.CreateServerCAO(String cao_type_name, SponsoredCAOSponsor cao_sponsor,
LeaseTime cao_lease_time, Object[] args)
at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(MethodBase mb, Object[] args, Object server, Int32
methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean
fExecuteInContext)
Exception rethrown at [1]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at KMS.Core.Remoting.Shared.RemotingManagerBase.CreateServerCAO(String cao_type_name, SponsoredCAOSponsor cao_sponsor,
LeaseTime cao_lease_time, Object[] args) <<<<<<<<<<<<<<<<<
at KMS.HGS.Admin.MonitorPanel.ConnectToServer(String server_name, Int32 remote_port) <<< client call to remote server
at KMS.HGS.Admin.AdminMonitorMain.mnu_File_Connect_Click(Object sender, EventArgs e)
Thanks
-------------------------------------------
Roy Chastain
KMSYS Worldwide, Inc.
http://www.kmsys.com
Nicole Calinoiu - 14 Oct 2005 17:03 GMT
Are you having this problem only when the client is loaded via IE or even
when it's launched directly off your network share? If the former, chances
are excellent that you're running into the issue described at
http://blogs.msdn.com/shawnfa/archive/2003/06/26/57026.aspx (which also
describes workarounds for the problem). If you're also seeing problems when
IE isn't used to load your client, could you please confirm whether it's the
same exception (including call stack)?
>I have an application that uses remoting.
> I have strongly named every assembly in the application.
[quoted text clipped - 119 lines]
> KMSYS Worldwide, Inc.
> http://www.kmsys.com
Roy Chastain - 14 Oct 2005 17:15 GMT
Thanks for responding.
I gave up and posted this in the MSDN forums and received an answer today from the shawn that you reference. Hopefully I am on my
way to fixing it.
>Are you having this problem only when the client is loaded via IE or even
>when it's launched directly off your network share? If the former, chances
[quoted text clipped - 127 lines]
>> KMSYS Worldwide, Inc.
>> http://www.kmsys.com
-------------------------------------------
Roy Chastain
KMSYS Worldwide, Inc.
http://www.kmsys.com