Asp.net mvc 如何告诉ConfigureAuth哪个是当前的web应用程序主机名?

Asp.net mvc 如何告诉ConfigureAuth哪个是当前的web应用程序主机名?,asp.net-mvc,owin,app-startup,owin-middleware,Asp.net Mvc,Owin,App Startup,Owin Middleware,我想加载CookieDomain并根据数据库中的值设置外部提供程序,但在Startup调用ConfigureAuth(应用程序)时,似乎还没有设置HttpContext.Current.Request.Url.Host;(值始终为127.0.0.1) 如何使当前主机名在启动时可用? 例如,如果我有Web1.com,Web2.com。。。所有这些都绑定到同一个web应用程序,我希望ConfigureAuth使用特定于该主机名的值(CookieDomain、CookieName、facebookAu

我想加载CookieDomain并根据数据库中的值设置外部提供程序,但在Startup调用ConfigureAuth(应用程序)时,似乎还没有设置HttpContext.Current.Request.Url.Host;(值始终为127.0.0.1)

如何使当前主机名在启动时可用?


例如,如果我有Web1.com,Web2.com。。。所有这些都绑定到同一个web应用程序,我希望ConfigureAuth使用特定于该主机名的值(CookieDomain、CookieName、facebookAuthOptions.AppId、facebookAuthOptions.AppSecret等)

我认为在IIS中启动时没有办法枚举地址。这类信息通常通过配置文件提供。也许有一种方法可以在HttpContext可用时更新提供程序,我可以稍后使用自定义cookie(ICookieManager)处理cookie,但不知道如何更新外部提供程序(每个网站都有自己的应用程序密钥和密码)我不建议在启动后尝试重新配置应用程序,你会遇到恶劣的比赛条件。相反,要提出一个为每个站点提供这些信息的部署过程。我不认为有办法在IIS启动时枚举地址。这类信息通常通过配置文件提供。也许有一种方法可以在HttpContext可用时更新提供程序,我可以稍后使用自定义cookie(ICookieManager)处理cookie,但不知道如何更新外部提供程序(每个网站都有自己的应用程序密钥和密码)我不建议在启动后尝试重新配置应用程序,你会遇到恶劣的比赛条件。相反,提出一个部署过程,为每个站点提供这些信息。