Как сделать учетные записи Basecamp-стиля у Asp. Сетевой Mvc?

Перегрузка toString () кажется немного неприглядной - который кажется чем-то вроде фрагмента toString () нормальная эксплуатация.

Что относительно:

public enum Errors {
  DATABASE(1, "A database error has occured."),
  DUPLICATE_USER(5007, "This user already exists.");
  //... add more cases here ...

  private final int id;
  private final String message;

  Errors(int id, String message) {
     this.id = id;
     this.message = message;
  }

  public int getId() { return id; }
  public String getMessage() { return message; }
}

кажется намного более чистым мне... и менее подробным.

5
задан Matt Kocaj 31 October 2009 в 05:58
поделиться

3 ответа

Мы используем:

public static string GetSubDomain()
        {
            string subDomain = String.Empty;

            if (HttpContext.Current.Request.Url.HostNameType == UriHostNameType.Dns)
            {
                subDomain = Regex.Replace(HttpContext.Current.Request.Url.Host, "((.*)(\\..*){2})|(.*)", "$2");
            }

            if (subDomain.Length == 0)
            {
                subDomain = "www";
            }

            return subDomain.Trim().ToLower();
        }
1
ответ дан 15 December 2019 в 01:07
поделиться

Это не сильно отличается от RoR. Просто получите HTTP-запрос, возьмите значение хоста, разделите его (по каждой точке) и возьмите первую часть, чтобы получить субдомен.

string subdomain = requestContext.HttpContext.
                      Request.Headers["Host"].Split('.')[0];

Затем просто разрешите субдомен в учетной записи компании.

1
ответ дан 15 December 2019 в 01:07
поделиться

В блоге Маартена Баллиау описан один метод расширения RouteBase. Думаю, я также видел специальный обработчик маршрута, используемый для этого.

Кроме того, этот вопрос StackOverflow касался того же вопроса, но с использованием более упрощенного подхода.

Я определенно рекомендую исключить этот код. в сторону маршрутизации, а не встраивать логику для получения информации о домене в ваши контроллеры.

2
ответ дан 15 December 2019 в 01:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: