はい、この問題に関する多くの投稿があり、それらの多くで提案を試みましたが、どれも機能しませんでした. これがすでに尋ねられているとは言わないでください。
データベースとやり取りする内部 Web サイトの更新を依頼されました。これはもともと VS 2003 で作成されたもので、もうアクセスできないため、プロジェクトを VS 2012 にアップグレードする必要がありました。最後に修正すべき問題が 1 つあります。サイトの最初の設計者は、次のコード ブロックを使用して環境を設定し、正しいデータベースに接続できるようにしました。
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application is started
Select Case LCase(HttpContext.Current.Request.ServerVariables("SERVER_NAME"))
Case "localhost", "development_domain"
DB_Environment = "DEVELOPMENT"
Case "staging_ip", "staging_domain"
DB_Environment = "STAGING"
Case "external_prod_domain", "external_prod_ip", "internal_prod_domain"
DB_Environment = "PRODUCTION"
End Select
End Sub
さまざまな環境が IIS 7.5 にアップグレードされています。これは、HttpContext.Current が IIS 7 以降でサポートされなくなったため、このサイトが開発環境で爆発したことを意味します。
提案された修正の多くは、機能を Application_BeginRequest メソッドに移動することについて述べています。リクエストが行われるたびにこれを起動するのは不要なので、あまり興味がありません。また、アプリケーションで問題が発生するようです。
私の問題の一部は、C# (私はよく知っています) でコーディングされており、アプリケーションは VB (私はあまり慣れていません) でコーディングされているため、いくつかの提案を試すことができないことです。
HttpContext.Current メソッドを使用せずにドメインを取得して DB_Environment 変数に保持する方法について、誰かが正しい方向に向けることができますか?