【发布时间】:2012-08-09 17:31:40
【问题描述】:
我有一个 ASP.NET WebApi 应用程序,它具有一些控制器方法,这些方法期望某些字符串作为方法参数传入(声明为路由模板的一部分)。
在所有方法中,传入的字符串都是 base64 编码的——这意味着每个控制器方法在对它们进行任何操作之前都必须对它们进行 base64 解码。虽然我显然可以让每个方法都足够容易地做到这一点,但我想知道是否有一种方法可以在字符串实际传递给控制器方法之前执行解码。我认为这是类似于动作过滤器或自定义格式化程序的东西,但我对 asp.net web api 不够熟悉,不知道从哪里开始?
总结:
我有类似的路线模板:{controller}/{encodedString}/whatever
其中{encodedString} 始终是base64 编码的字符串。
和具有类似方法的控制器
GetWhatever(string encodedString)
{
Base64Decode(encodedString);
// do other stuff...
}
我想在实际调用控制器方法之前使用 asp.net webapi 管道的某些部分来解码{encodedString}。为了做到这一点,我应该从哪条路径开始?
【问题讨论】:
标签: asp.net asp.net-mvc asp.net-web-api