Skip to content

NotImplementedException when calling a grpc service from a WCF service under Windows Server 2019 #2310

@CobraCalle

Description

@CobraCalle

What version of gRPC and what language are you using?

2.58

What operating system (Linux, Windows,...) and version?

Windows Server 2019

What runtime / compiler are you using (e.g. .NET Core SDK version dotnet --info)

.NET 4.8

What did you do?

If possible, provide a recipe for reproducing the error. Try being specific and include code snippets if helpful.

What did you expect to see?

We have a WCF-Service and this service tries to make a Grpc-Call to another service. Calling the grpc-server results in a NotImplementedException. But this is only the case when calling the grpc service out of a wcf-service running under Windows Server 2019. A test program (.NET 4.8 (same as our wcf-service)) can make the grpc call with out problems. Calling the service out of the wcd-service unter Windows Server 2022 or Windows 11 works fine too.

What did you see instead?

A NotImplementedException is thrown. Here is the stack trace:

CLRVersion..........: 4.0.30319.42000
ExceptionType.......: Grpc.Core.RpcException
ExceptionSource.....: mscorlib
ExceptionMessage....: Status(StatusCode="Internal", Detail="Error starting gRPC call. NotImplementedException: Die Methode oder der Vorgang ist nicht implementiert.", DebugException="System.NotImplementedException: Die Methode oder der Vorgang ist nicht implementiert.")
ExceptionTargetSite.: System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw
ExceptionStacktrace.:    bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
                         bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
                         bei ProtoBuf.Grpc.Internal.Reshape.<UnaryTaskAsyncImpl>d__16`2.MoveNext() in /_/src/protobuf-net.Grpc/Internal/Reshape.cs:Zeile 554.
                      --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
                         bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
                         bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
                         bei Diomex.Framework.Graphics.Omniverse.KitAgent.Client.KitAgentClient.<CreateProcessAsync>d__13.MoveNext()
                      --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
                         bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
                         bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
                         bei Diomex.Framework.Graphics.Omniverse.RenderSession`1.<TryRenderAsync>d__27.MoveNext()
                      --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
                         bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
                         bei Diomex.Framework.Graphics.ThreeD.Rendering.RenderSession`2.<>c__DisplayClass11_0.<<RenderInternal>b__2>d.MoveNext()
	ExceptionType.......: System.NotImplementedException
	ExceptionSource.....: Grpc.Core.Api
	ExceptionMessage....: Die Methode oder der Vorgang ist nicht implementiert.
	ExceptionTargetSite.: Grpc.Core.DeserializationContext.PayloadAsReadOnlySequence
	ExceptionStacktrace.:    bei Grpc.Core.DeserializationContext.PayloadAsReadOnlySequence()
	                         bei ProtoBuf.Grpc.Configuration.ProtoBufMarshallerFactory.ContextualDeserialize[T](DeserializationContext context) in /_/src/protobuf-net.Grpc/Configuration/ProtoBufMarshallerFactory.cs:Zeile 158.
	                         bei Grpc.Net.Client.Internal.StreamExtensions.<ReadMessageAsync>d__4`1.MoveNext()
	                      --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
	                         bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
	                         bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	                         bei Grpc.Net.Client.Internal.GrpcCall`2.<ReadMessageAsync>d__98.MoveNext()
	                      --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
	                         bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
	                         bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	                         bei Grpc.Net.Client.Internal.GrpcCall`2.<RunCall>d__82.MoveNext()

Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).

See TROUBLESHOOTING.md for how to diagnose problems better.

Anything else we should know about your project / environment?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions