トップ回答者
MVCでカスタムメンバーシップ

質問
回答
-
Controllersに入れるのはそもそも配置場所として正しくないよーな。
Modelsに配置するとき、ってnamespaceどうなってますでしょうか。
で、そのnamespaceを含めた形でweb.config内でmembershipのtype設定してますか?
名前空間がずれてしまっているために読み込めない、とかじゃないかと思うんですが。。。まぁ、でもMemberShipProviderをModelsに配置するのもなんか違う気もします。
別にフォルダを追加して配置するほうがいいような。
それならApp_Code内で動くということでそこに置いてもいいように思います。
あおい情報システム株式会社 小野修司(どっとねっとふぁん)- 回答としてマーク 絶対初心者 2011年11月24日 10:47
すべての返信
-
Controllersに入れるのはそもそも配置場所として正しくないよーな。
Modelsに配置するとき、ってnamespaceどうなってますでしょうか。
で、そのnamespaceを含めた形でweb.config内でmembershipのtype設定してますか?
名前空間がずれてしまっているために読み込めない、とかじゃないかと思うんですが。。。まぁ、でもMemberShipProviderをModelsに配置するのもなんか違う気もします。
別にフォルダを追加して配置するほうがいいような。
それならApp_Code内で動くということでそこに置いてもいいように思います。
あおい情報システム株式会社 小野修司(どっとねっとふぁん)- 回答としてマーク 絶対初心者 2011年11月24日 10:47
-
Web アプリケーションプロジェクトでは App_Code フォルダを使うのは
止めた方がよさそうです。App_Code folder doesn’t work with Web Application Projects (WAPs)
http://vishaljoshi.blogspot.com/2009/07/appcode-folder-doesnt-work-with-web.html -
とはいえ、ASP.NET MVC3でヘルパークラスを作成したときはApp_Codeに置かないと動かなかったよーな。。。
Razorのコンパイル動作の関係だと思いますけど。
ちゃんと調べてみないとな。。。
ヘルパー クラスは、ルートの Web.config ではなくて、Views にある Web.config に追加しないといけない、という話ではないですか?
少なくともヘルパー クラス自体は App_Code に置かなくてもいいはずです。
ちなみに MVC 3 でカスタムの MembershipProvider を入れてみたことがありますが、ルートの Web.config に書けば普通に使えていましたが。 -
私がヘルパークラス、と言っているのはMembershipProvider の話じゃありません。
Razorで@helper メソッドを切り出して利用する場合の話として書いてました。http://codezine.jp/article/detail/5947?p=2
ここに書いてある話ですね。
App_Codeディレクトリ内に配置する必要があります。「ヘルパークラス」という記述が悪かったようですね、すみません。
あおい情報システム株式会社 小野修司(どっとねっとふぁん) -
MVC も Razor も、ちょっとかじった程度の知識しかない自分がコメントする
のもなんですが・・・> とはいえ、ASP.NET MVC3でヘルパークラスを作成したときはApp_Codeに置
> かないと動かなかったよーな。。。
以下のページ(小野さんが紹介されたページの原文)に、いろいろ書いてあ
りました。「何で App_Code など使うのか?」というコメントに対し、今のところ他に
選択肢がないので、やむを得ず App_Code フォルダを使ったというようなこ
とが書いてありました。それによる好ましからざる副作用もあるようです。@helper は仕方がないのかもしれませんが、カスタム MembershipProvider
を App_Code フォルダに入れる必要はないと思います。(Visual Studio と
ASP.NET による二重コンパイルを避ける方法はあるようですが、わざわざ
App_Code に配置して問題の種をまく必要はないという意味です)ASP.NET MVC 3 and the @helper syntax within Razor
- 編集済み SurferOnWww 2011年11月25日 12:14