ASP.NET MVCのプロジェクトをMVC 2.0ベースにマイグレートして、Visual Studio 2010 Beta2でビルドしたメモ(・ω・)

つぶやきにも書いたけど、ASP.NET MVCで作った某サイトはもうオープソしてるのよね(`・ω・´)
っで、VS 2010のBeta2も出たし、思いつきのままにそのプロジェクトをMVC 2.0ベースにマイグレートして、Visual Studio 2010 Beta2でビルドしたメモ。


問題があったのは下記の3点。
基本的に、MVC 1.0からMVC 2.0への変更に伴うところですね(・ω・)

  • RequestContextが引数になったこと

IControllerFactory.CreateController()、DefaultControllerFactory.GetControllerInstance()で、RequestContextが引数になったことへの対応。
RequestContextは引数で渡されるものを使われるようにして、ビルドしなおせばOK。

  • MvcHtmlString

Helperの戻りがstringからMvcHtmlStringになったことへの対応。
自前Helperも併せて変更。

  • ModelBindingContextの変更

ModelBindingContextにModelMetadataが増えたことへの対応。
こんなことをしているので、DefaultModelBinderを拡張しているんですが。
他に適切な拡張ポイントも無かったので、DefaultModelBinder.BindProperty()をコピペして改造したソースを使っていたら、ModelMetadataが増えたことによる対応がなくて例外に。
ModelMetadataの処理も追加して対応。


まあ、この改造もちょっとな〜とは思っていたんだけど(´・ω・`)



っで、上記修正でとりあえず動きますた。
DefaultControllerFactory、DefaultModelBinderあたりを拡張しているところは、影響を受けてもしかたないかな〜という感じですが(´д`;)


っで、それはそれとして、個人的なものはまだしばらくは1.0ベースで行きますよ(・ω・)