Je veux partager une certaine logique entre plusieurs fonctions qui semble maintenant être partiellement réalisable en utilisant Function Filters dans les fonctions azur mais dans certains cas, je ne veux pas continuer l'exécution de la fonctionner et être capable de renvoyer un résultat au fournisseur de liaison (comme retourner un résultat de la fonction elle-même).Ignorer la fonction invocation et la valeur de retour avec le filtre de fonction personnalisée
En regardant le code, la seule façon de court-circuiter l'appel du IFunctionInvoker
intérieur FunctionInvocationFilterInvoker
est de lancer une exception dans le filtre d'invocation personnalisé. Le seul problème avec cette approche est que l'exception surgira jusqu'à l'hôte et provoquera un échec/des tentatives etc. ailleurs.
Cette approche ne me permet pas non plus de définir un autre fournisseur de liaison de retour de valeur de retour. J'ai vu que nous pourrions envelopper dans notre propre IFunctionInvoker
mais je me demandais s'il y avait une meilleure façon d'y parvenir?
Dans votre cas, est-il possible d'écrire une logique pour contrôler les fonctions d'invocation dans la fonction Azure? (Selon les informations du message de paramètre à la fonction correspondante invocation.) –
l'exécution de la fonction est appelée ici - https://github.com/Azure/azure-webjobs-sdk/blob/3696dd28df66996b1adcc0697f0d0f88f865cb64/src/Microsoft.Azure.WebJobs.Host/ Executors/FunctionExecutor.cs # L569 –
Je m'attendais à un objet 'result' (filterContext.Result) que je pourrais éventuellement retourner, tout comme ActionFilters dans MVC –