bolierplate - Multipropiedad en formularios web asp.net
asp net templates (1)
Debe configurar IIS (y tal vez DNS) correctamente para este trabajo. Por ejemplo, todos sus subdominios deben ser gestionados por el sitio web designado en IIS. Normalmente, puede configurar IIS para manejar todos los encabezados de host si solo hay un único sitio web, pero en el caso de varios sitios web, IIS generalmente se configura para que difiera por el encabezado del host. Conseguir esta configuración correcta es la parte más importante para ti.
Una vez que llegue al sitio web correcto, la metabase de IIS realizará el manejo de recursos. Entonces, en este caso, se redirigiría a un recurso predeterminado configurado para el sitio. Si el nombre-recurso está presente, entonces la extensión (htm, aspx) decidirá el manejo. Aspx extensiones serán manejadas por ASP.NET y entonces todo lo que necesita hacer es buscar el encabezado del host actual y tomar una decisión en consecuencia. Por ejemplo,
protected void Page_Load(object sender, EventArgs e)
{
if (request.Url.HostNameType == UriHostNameType.Dns)
{
var hostParts = Request.Url.Host.Split(''.'');
// you may validate if sub-domain name is present or not
lblMessage.Text = "This is default page for " + hostParts[0];
}
}
He creado una nueva aplicación de formularios web en Visual Studio 2010 con solo dos páginas Default.aspx
y About.aspx
. lo que quiero es que cuando depuro la aplicación en el servidor de desarrollo de Visual Studio e ingrese http://company1.localhost:1023
solo debería mostrar la página predeterminada con el mensaje This is default page for company1
. ¿Cómo puedo hacerlo simplemente jugando con el enrutamiento url en lugar de hacerlo en IIS?
Nota: Entiendo que multi-tenancy es una gran palabra y no debería usarse para un escenario tan simple, pero mis requisitos son simples. solo ejecutaría la misma instancia de la aplicación para cada empresa sin puntos de extensión. Esta pregunta también podría formularse como ¿cómo puedo crear subdominios programáticamente?