Как я могу получить корневой домен URI в ASP.NET?

Нет никакого "обратного вызова" в C - не больше, чем какая-либо другая универсальная концепция программирования.

Они реализованы с помощью указателей функции. Вот пример:

void populate_array(int *array, size_t arraySize, int (*getNextValue)(void))
{
    for (size_t i=0; i<arraySize; i++)
        array[i] = getNextValue();
}

int getNextRandomValue(void)
{
    return rand();
}

int main(void)
{
    int myarray[10];
    populate_array(myarray, 10, getNextRandomValue);
    ...
}

Здесь, populate_array функция берет указатель функции в качестве своего третьего параметра и называет его, чтобы заставить значения заполнять массив с. Мы записали обратный вызов getNextRandomValue, который возвращает значение случайного выхода и передал указатель на него к populate_array. populate_array назовет наши времена функции обратного вызова 10 и присвоит возвращенные значения элементам в данном массиве.

93
задан Jon Seigel 18 June 2010 в 02:55
поделиться

7 ответов

HttpContext.Current.Request.Url может помочь вам информация об URL-адресе. И может разбивать URL на фрагменты.

80
ответ дан 24 November 2019 в 06:10
поделиться

Пример C # ниже:

string scheme = "http://";
string rootUrl = default(string);
if (Request.ServerVariables["HTTPS"].ToString().ToLower() == "on")
{
  scheme = "https://";
}
rootUrl = scheme + Request.ServerVariables["SERVER_NAME"].ToString();
1
ответ дан 24 November 2019 в 06:10
поделиться
string domainName = Request.Url.Host
3
ответ дан 24 November 2019 в 06:10
поделиться
string hostUrl = Request.Url.Scheme + "://" + Request.Url.Host; //should be "http://hostnamehere.com"
27
ответ дан 24 November 2019 в 06:10
поделиться

Чтобы получить всю строку URL-адреса запроса:

HttpContext.Current.Request.Url

Чтобы получить часть запроса www.foo.com:

HttpContext.Current.Request.Url.Host

Обратите внимание, что вы в некоторой степени зависите от факторы вне вашего приложения ASP.NET. Если IIS настроен на прием нескольких или любых заголовков хоста для вашего приложения, то любой из тех доменов, которые разрешены для вашего приложения через DNS, может отображаться как URL-адрес запроса, в зависимости от того, какой из них ввел пользователь.

16
ответ дан 24 November 2019 в 06:10
поделиться

For anyone still wondering, a more complete answer is available at http://devio.wordpress.com/2009/10/19/get-absolut-url-of-asp-net-application/.

public string FullyQualifiedApplicationPath
{
    get
    {
        //Return variable declaration
        var appPath = string.Empty;

        //Getting the current context of HTTP request
        var context = HttpContext.Current;

        //Checking the current context content
        if (context != null)
        {
            //Formatting the fully qualified website url/name
            appPath = string.Format("{0}://{1}{2}{3}",
                                    context.Request.Url.Scheme,
                                    context.Request.Url.Host,
                                    context.Request.Url.Port == 80
                                        ? string.Empty
                                        : ":" + context.Request.Url.Port,
                                    context.Request.ApplicationPath);
        }

        if (!appPath.EndsWith("/"))
            appPath += "/";

        return appPath;
    }
}
122
ответ дан 24 November 2019 в 06:10
поделиться
string baseUrl = Request.Url.GetLeftPart(UriPartial.Authority);

Метод Uri :: GetLeftPart :

Метод GetLeftPart возвращает строку, содержащую крайнюю левую часть URI строка, заканчивающаяся частью, указанной параметром part.

UriPartial Enumeration :

Схема и сегменты полномочий URI.

162
ответ дан 24 November 2019 в 06:10
поделиться
Другие вопросы по тегам:

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