2017-08-20 101 views
0

我想共享多個功能之間的一些邏輯現在看來是可以實現的部分用湛藍職能範圍內Function Filters然而,在某些情況下,我不想繼續執行函數並且能夠將結果返回給綁定提供者(與從它自己的函數返回結果相同)。跳過功能調用和自定義功能的過濾器的返回值

看看代碼,短路在FunctionInvocationFilterInvoker內調用內部IFunctionInvoker的唯一方法是在自定義調用過濾器中引發異常。這種方法唯一的問題是,異常會冒泡到主機並導致失敗/重試等等。

也採取這種方法不允許我設置另一個返回值後綁定提供程序。我確實看到我們可以將其包裝在我們自己的IFunctionInvoker中,但我想知道是否有更好的方法來實現這一目標?

Code executing filters

+0

在你的情況下,是有可能寫出邏輯控制在Azure的功能invaction的功能呢? (根據參數消息信息來調用對應函數。) –

+0

函數的執行在這裏調用 - https://github.com/Azure/azure-webjobs-sdk/blob/3696dd28df66996b1adcc0697f0d0f88f865cb64/src/Microsoft.Azure.WebJobs.Host/執行人/ FunctionExecutor.cs#L569 –

+0

我期待一個'result'(filterContext.Result)對象,我可能回來,就像ActionFilters在MVC –

回答

1

不可能的呢,不過這是後話,我們一定會實現。我們在回購here中追蹤此功能。

+0

最終看上去在這個自己,並與勾勒出PR提出的第一個問題:-)謝謝你的回答,雖然忘了問這個 –