ASP.NET MVC中C#对象的查询字符串

ASP.NET MVC中C#对象的查询字符串,c#,asp.net-mvc,wcf,C#,Asp.net Mvc,Wcf,我有一个非常笼统的问题 使用ASP.NET MVC进行开发时。它提供了一种利用C#与客户端对象(如查询字符串)交互的好方法 我想知道ASP.NET MVC框架如何将GET请求中发送的查询字符串或POST请求中的表单数据转换为强类型C#类?是否有任何特定的HttpHandler或HttpModule用于此?或者他们是否使用任何预定义的操作过滤器 我想在基于WCF的RESTFull服务中实现类似的功能。我相信我需要使用拦截器来达到这个目的 请提供一些建议 提前感谢。我对wcf扩展性模型不太熟悉,但在

我有一个非常笼统的问题

使用ASP.NET MVC进行开发时。它提供了一种利用C#与客户端对象(如查询字符串)交互的好方法

我想知道ASP.NET MVC框架如何将GET请求中发送的查询字符串或POST请求中的表单数据转换为强类型C#类?是否有任何特定的HttpHandler或HttpModule用于此?或者他们是否使用任何预定义的操作过滤器

我想在基于WCF的RESTFull服务中实现类似的功能。我相信我需要使用拦截器来达到这个目的

请提供一些建议


提前感谢。

我对wcf扩展性模型不太熟悉,但在mvc3方面,所有的源代码都在那里。您可以确切地看到模型绑定是如何实现的。只需下载源代码,这是一个信息丰富的阅读

您所指的这实际上是框架的一个完全独立的部分,而不是
ActionFilters
或HttpModules。它通过检查“值提供者”(请求中的信息源,如表单数据、查询字符串,甚至路由)并尝试在控制器操作中将它们按名称与复杂类型中的属性相匹配来工作

正如Kenneth提到的,您可以在上查看源代码,但是如果您希望使用RESTful体系结构模式编写服务,您可以开始使用MVC4测试版中的功能,该测试版还支持模型绑定(因此您不必重新发明它!)


还值得一提的是,Web API是为WCF开发的,但现在是的一部分,这是有意义的,因为ASP.NET MVC和Web API一样,都是主要围绕HTTP构建的。

感谢Brandon,这是一个很好的建议和非常深刻的解释。