私は Windows Azure を初めて使用し、そのしくみを学ぶためにいじっています。できるだけシンプルにするために、VS 2012 Express for Web によって生成されたデフォルトの MVC 4 テンプレートをデプロイしようとしています。新しいプロジェクト、Azure クラウド サービスを作成しました。MVC 4 Web ロールを選択しました。これにより、ホーム ページ、概要ページ、連絡先ページ、および登録とログインへのリンクを備えた素敵な小さな asp.net アプリケーションが作成されます。このサイトを Azure にデプロイして、クラウド上で動作することを確認したいだけです。
ただし、メンバーシップは azure では機能しないようです。アプリケーションのページは正しく表示されます。しかし、[登録] リンクをクリックしても、新しいユーザー名とパスワードを入力するページに移動しません。メンバーシップ テーブルがどこにも生成されているとは思えません。
これがどれほど単純かを考えると、どこかでばかげた間違いを犯しているに違いないと思います。誰かがこれを手伝ってくれたら本当にありがたいです。
また、記録のために、VS2012 Express でスタンドアロンの MVC 4 プロジェクトを作成すると (mvc 4 Web ロールを使用した Windows Azure クラウド サービス プロジェクトとは対照的に)、その MVC4 プロジェクトを右クリックして、それを公開すると、接続文字列を使用して SQL データベースを指定できるようになります。さらに、Azure に発行されると、メンバーシップは完全に機能します。ユーザー アカウントを作成してログインできます。Azure ポータルを使用して SQL Azure データベースを調べると、そこで作成された新しいメンバーシップ テーブルを確認できます。
しかし、MVC4 webrole を使用して Windows Azure クラウド サービスを公開しようとすると、azure プロジェクトに何らかの接続文字列を提供するオプションが表示されません。おそらくそれがメンバーシップが機能していない理由です... Webロールにリンクされたデータベースがないため...しかし、これを指定する方法がわかりません。スタンドアロンの MVC4 プロジェクトを Azure に発行することと、MVC4 Web ロールを使用して Azure クラウド サービスを発行することはまったく同じであるという印象を受けました。間違っている場合は訂正してください。いずれにしても、mvc 4 Web ロールのメンバーシップ機能を確認できるはずです。
ここに私が持っているものを再現する手順があります。基本的にはすべてデフォルトのものです:
VS2012 Express File -> New Project -> 'Windows Azure Cloud Service' で新しいプロジェクトを作成します。
次の画面で、ASP.NET MVC 4 Web ロールをそれに追加します。
次の画面で、[インターネット アプリケーション] を選択します。
これらの 3 つの手順により、新しいプロジェクトが作成されます。ローカルで問題なく実行されます。今、私はそれをクラウドに入れようとしています。
ソリューション エクスプローラーで Windows azure プロジェクトを右クリックし、[発行] を選択します。
サブスクリプションを選択します (VS から Azure に公開するための証明書/資格情報が既にあるので、それを選択します)
次の画面でクラウド サービスを作成します (私は「garyazurecloudservice」と名付けます)。
パブリッシュ ウィザードのデフォルト設定をすべて受け入れ、[パブリッシュ] をクリックします。
公開プロセスには数分かかります。Web アプリケーションはhttp://garyazurecloudservice.cloudapp.net/で表示できます。
ホーム、概要、および連絡先のページがすべて正しく表示されます。ただし、右上の [登録] リンクをクリックすると、正しいレイアウト テンプレートを含む Web ページが表示されますが、「エラー。リクエストの処理中にエラーが発生しました」という赤いエラーが表示されます。
Azure で SQL データベースを作成しようとしましたが、このロールを接続する方法がわかりません。おそらくそれが問題ですか?あるいは、それはまったく別のものかもしれません。誰かが間違っていることを教えていただければ幸いです。
私は一日中グーグルで過ごし、サークルに参加しましたが、成功しませんでした。ご協力いただきありがとうございます。ゲイリー