意見や提案をいただければ幸いです。
数年間、Wild West がホストする共有 Apache サーバーに格納された html と javascript の Web サイトを持っていました。最近、これを .NET 3.5 に移行し、これも Wild West がホストする共有 Windows IIS7 サーバーに配置することにしました。Visual Studio 2008 を使用してすべてのページを書き直し、役割管理を追加し、役割ベースのセキュリティ トリミングを有効にしたサイトマップ制御のメニュー ツリーを追加し、ディレクトリを保護しました。この時点で、それぞれに 1 つまたは 2 つのファイルしかない、保護されたディレクトリがいくつかある半ダースのページがおそらくあります。シンプルなサイト。
VS2008 の ASP.NET 構成ツールを使用して、サイトマップ内のすべてのロール名に一致するユーザーとロールを作成し、ユーザーなどが App_Data/ASPNETDB.MDF データベースの aspnet_ テーブルにあることを確認しました。サイトはローカル マシンで正常にレンダリングされます。Login.aspx ページでは、ユーザーがログインできるようになり、それに応じてメニュー ツリーが調整され、それに応じてログイン ステータス コントロールが調整され、ユーザーが適切にリダイレクトされます。すべてが設計どおりに機能します。
Wild West (以前の GoDaddy) との共有 Windows ホスティング アカウントを取り出し、ASPNETDB テーブルとデータを .sql ファイルにエクスポートして MS SQL サーバー上に再作成し、提供された接続文字列を使用するように web.config の接続文字列を編集しました。その後、FileZilla を使用して、ファイルとフォルダーを Windows サーバーに ftp/コピーしました。.aspx ページは問題なくレンダリングされますが、ユーザー名とパスワードを使用してログインしようとすると、SQL 例外がスローされます。これはかなりあいまいな例外メッセージです:
サーバーへの接続を確立中にエラーが発生しました。SQL Server 2005 に接続する場合、このエラーは、既定の設定では SQL Server がリモート接続を許可しないことが原因である可能性があります。(プロバイダー: SQL ネットワーク インターフェイス、エラー: 26 - 指定されたサーバー/インスタンスの検索中にエラーが発生しました)
Wild West の技術サポートは、データベースを削除して再作成し、リモート接続が許可されていることを確認し、接続文字列情報が正しいことを確認しましたが、ログインしようとすると例外がスローされます. さて、奇妙な部分があります。接続情報をページのコード ビハインドにハード コードすると、データベースに正常に接続して情報を抽出できます。したがって、データベースは Web サーバーから到達可能です。
それで、私は疑問に思い始めました...ページ、コードビハインドファイル、およびフォルダーをビルドしてからコンパイル済みバージョンをサーバーにコピーするのではなく、単にサーバーにコピーしたことが問題なのですか? HTML は .NET とは大きく異なり、Apache サーバーは IIS7 とは大きく異なります。IIS7 にコピーされたコンパイルされていないサイトは、最初の要求でサーバーによってコンパイルされることをどこかで読んだことがありますが、そうではない可能性があります。サーバー上のフォルダー構造には BIN フォルダーが含まれていないため、実際にはサーバーがサイトを構築していないと思われます。そこからファイルとフォルダーを削除し、ローカル コンピューターでサイトを構築してから、構築したバージョンをサーバーにコピーする必要がありますか? これがエラーメッセージの原因でしょうか?
あなたが与えることができる情報をありがとう。楽しいホリデーシーズンをお過ごしください。
ジョン