My MVC(.NET)には、電話番号、物理アドレス、電子メールアドレスなど、サイト全体で一定の値があります。
この値を1回保存したいので、詳細を変更するときに将来の更新が簡単になります。
質問を簡単にするために、電話番号のみに注目しました。
私の質問は、この番号をどこにどのように保存するか、そして私が決定に直面している問題です。現時点では、Global.asaxファイルに静的メソッドとして保存することを選択しました。たとえば、
public class MvcApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
       //logic
    }
    public static string GetPhoneNumber()
    {
        return "012345 678 910";
    }
}
これは非常にうまく機能します。私のコントローラーでは、このメソッドへの参照を追加してViewBagに割り当てることができます
  public ActionResult Contact()
  {
        ViewBag.Phone = MvcApplication.GetPhoneNumber();
  }
多くのサイトのように、電話番号はすべてのページの上部に表示されるため、その番号を_Layout.cshtml論理的に配置します。
私が持っている問題は、_Layout.cshtml用のコントローラがない(私にはわからない)ことであり、値を渡すことができる唯一の方法は、ViewBag.Phoneをすべてのビューに設定することです、EG
public class HomeController : Controller
{
    //
    // GET: /Home/
    public ActionResult Index()
    {
        ViewBag.Phone = MvcApplication.GetPhoneNumber();
        return View();
    }
    public ActionResult About()
    {
        ViewBag.Phone = MvcApplication.GetPhoneNumber();
        return View();
    }
    public ActionResult Contact()
    {
        ViewBag.Phone = MvcApplication.GetPhoneNumber();
        return View();
    }
これは面倒で臭いですが、どうすれば改善できるかわかりません。
グローバル変数を別の場所に保存する必要がありますか、これは一般的な問題であると確信しているため、これに対するより良いアプローチがありますか?