You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue tracks the work to add the abstraction layers for enabling WebJob extensions to add their own Host <--> Worker RPC services. We will start small exposing only the ability to map gRPC services.
Due to the way WebJobs extensions are loaded into an isolated assembly load context, we cannot expose gRPC service mapping in a direct fashion. Instead, we need to split this into two assemblies:
Microsoft.Azure.WebJobs.Host.Rpc
referenced by: webjobs extensions (transitively) and Azure Functions host.
purpose: this assembly contains only the necessary types to bridge AspNetCore endpoint extensibility from registered webjobs extensions to the functions host.
reason: we cannot perform the Grpc.AspNetCore.Server's .MapGrpcService<T>() call from within the Functions host default assembly load context. It must be performed within the webjobs extension load context, thus an extension point from an already unified assembly must be chosen. In this case, we will use EndpointDataSource from AspNetCore.
Microsoft.Azure.WebJobs.Extensions.Rpc
reference by: webjobs extensions (and not Azure functions host).
purpose: expose APIs to perform the actual extension RPC service mapping.
reason: we do not want to expose the EndpointDataSource extensibility pattern directly. It is too much boilerplate, and we instead want something that maps onto the existing IWebJobsExtensionBuilder experience.
The text was updated successfully, but these errors were encountered:
Azure/azure-functions-host#9235
This issue tracks the work to add the abstraction layers for enabling WebJob extensions to add their own Host <--> Worker RPC services. We will start small exposing only the ability to map gRPC services.
Due to the way WebJobs extensions are loaded into an isolated assembly load context, we cannot expose gRPC service mapping in a direct fashion. Instead, we need to split this into two assemblies:
Microsoft.Azure.WebJobs.Host.Rpc
Grpc.AspNetCore.Server
's.MapGrpcService<T>()
call from within the Functions host default assembly load context. It must be performed within the webjobs extension load context, thus an extension point from an already unified assembly must be chosen. In this case, we will useEndpointDataSource
from AspNetCore.Microsoft.Azure.WebJobs.Extensions.Rpc
EndpointDataSource
extensibility pattern directly. It is too much boilerplate, and we instead want something that maps onto the existingIWebJobsExtensionBuilder
experience.The text was updated successfully, but these errors were encountered: