[ 
https://issues.apache.org/jira/browse/LOG4NET-341?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13283721#comment-13283721
 ] 

Dominik Psenner commented on LOG4NET-341:
-----------------------------------------

Please note that this patch breaks backwards compatibility to ALL prior 
versions of log4net. If the server is built with another version of log4net 
than the client the server will now always crash in favor of not needing a 
reference to the calling assembly on server side anymore. However I'm not a 
great fan of this - comments and ideas are welcome!
                
> RemotingAppender Error
> ----------------------
>
>                 Key: LOG4NET-341
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-341
>             Project: Log4net
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 1.2.11
>         Environment: Any
>            Reporter: Sandra Neumann
>            Assignee: Dominik Psenner
>            Priority: Minor
>              Labels: triaged
>             Fix For: 1.2.10
>
>         Attachments: LOG4NET-341.patch
>
>
> I have a solution with a console application (.Net 4 and log4net v1.2.11) 
> which implement the Remoting sink - server side. And a WPF or WindowsForms 
> application - client side. The framework version on the client side doesn't 
> matter. But the log4net version is different. On v1.2.10 anything is ok. When 
> I reference the client with v1.2.11 throw this error: 
> log4net:ERROR [RemotingAppender] ErrorCode: GenericFailure. Failed in 
> SendBufferCallback
> System.Reflection.TargetInvocationException: Exception has been thrown by the 
> target of an invocation. ---> System.IO.FileNotFoundException: Could not load 
> file or assembly 'WpfTestApplication, Version=1.0.0.0, Culture=neutral, 
> PublicKeyToken=null' or one of its dependencies. Das System kann die 
> angegebene Datei nicht finden.
>    at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String 
> codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, 
> StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean 
> forIntrospection, Boolean suppressSecurityChecks)
>    at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String 
> codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, 
> StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean 
> forIntrospection, Boolean suppressSecurityChecks)
>    at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName 
> assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean 
> forIntrospection, Boolean suppressSecurityChecks)
>    at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, 
> Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean 
> forIntrospection)
>    at System.Reflection.Assembly.Load(String assemblyString)
>    at 
> System.Runtime.Serialization.FormatterServices.LoadAssemblyFromString(String 
> assemblyName)
>    at System.Reflection.MemberInfoSerializationHolder..ctor(SerializationInfo 
> info, StreamingContext context)
>    --- End of inner exception stack trace ---
> Server stack trace: 
>    at System.RuntimeMethodHandle._SerializationInvoke(IRuntimeMethodInfo 
> method, Object target, SignatureStruct& declaringTypeSig, SerializationInfo 
> info, StreamingContext context)
>    at 
> System.Runtime.Serialization.ObjectManager.CompleteISerializableObject(Object 
> obj, SerializationInfo info, StreamingContext context)
>    at 
> System.Runtime.Serialization.ObjectManager.FixupSpecialObject(ObjectHolder 
> holder)
>    at System.Runtime.Serialization.ObjectManager.DoFixups()
>    at 
> System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler
>  handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, 
> IMethodCallMessage methodCallMessage)
>    at 
> System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream
>  serializationStream, HeaderHandler handler, Boolean fCheck, Boolean 
> isCrossAppDomain, IMethodCallMessage methodCallMessage)
>    at 
> System.Runtime.Remoting.Channels.CoreChannel.DeserializeBinaryRequestMessage(String
>  objectUri, Stream inputStream, Boolean bStrictBinding, TypeFilterLevel 
> securityLevel)
>    at 
> System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage(IServerChannelSinkStack
>  sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream 
> requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, 
> Stream& responseStream)
> 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 
> log4net.Appender.RemotingAppender.IRemoteLoggingSink.LogEvents(LoggingEvent[] 
> events)
>    at log4net.Appender.RemotingAppender.SendBufferCallback(Object state)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to