Да, вы можете экспортировать статические функции, передавая им указатели. Это обычный способ реализации шаблона Factory в C, где вы можете скрыть реализации целого набора функций от модулей, которые их используют, и иметь FuncPtr_t GetFunction( enum whichFunctionIWant)
, который раздает их потребителям. , Вот сколько работает динамических линковок .
OnActionExecuting работает непосредственно перед выполнением вашего действия - таким образом, для модели установлено значение null. Вы можете получить доступ к своим ViewData (или ViewData.Model) в OnActionExecuted:
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
var model = filterContext.Controller.ViewData.Model as YourModel;
...
}
Надеюсь, это поможет