Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / HttpValueCollection -- чито за фигня? / 25 сообщений из 59, страница 1 из 3
10.10.2013, 10:17
    #38422462
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
почему единственный нативный класс для построения Query String для URL — internal?
есть идеи, почему так?
...
Рейтинг: 0 / 0
10.10.2013, 10:59
    #38422559
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
hVosttединственный нативный класс для построения Query String для URL
Убей себя об стену, двоечник.

Код: c#
1.
2.
var query1 = HttpUtility.ParseQueryString(url);
var query2 = new Uri(url).Query;



Сегодня опять двойка.
...
Рейтинг: 0 / 0
10.10.2013, 11:03
    #38422569
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
МСУ,

HttpUtility.ParseQueryString(url); -- это понятно, мы получим экземпляр этого класса под видом NameValueCollection.

но почему класс internal? зачем скрывать?
...
Рейтинг: 0 / 0
10.10.2013, 11:05
    #38422572
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
и что тут такого... иногда логику архытэкторов ну не понять.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
    /// <summary>
    ///  NameValueCollection to represent form data and to generate form data output.
    /// </summary>
    [Serializable]
    internal class HttpValueCollection : NameValueCollection
    {
        private HttpValueCollection()
            : base(StringComparer.OrdinalIgnoreCase) // case-insensitive keys
        {
        }

        // Use a builder function instead of a ctor to avoid virtual calls from the ctor. 
        public static NameValueCollection Create()
        {
            return new HttpValueCollection();
        }

        public static NameValueCollection Create(IEnumerable<KeyValuePair<string, string>> pairs)
        {
            var nvc = new HttpValueCollection();

            // Ordering example:
            //   k=A&j=B&k=C --> k:[A,C];j=[B].
            foreach (KeyValuePair<string, string> kv in pairs)
            {
                ThrowIfMaxHttpCollectionKeysExceeded(nvc.Count);

                string key = kv.Key;
                if (key == null)
                {
                    key = String.Empty;
                }
                string value = kv.Value;
                if (value == null)
                {
                    value = String.Empty;
                }
                nvc.Add(key, value);
            }

            nvc.IsReadOnly = false;
            return nvc;
        }

        private static void ThrowIfMaxHttpCollectionKeysExceeded(int count)
        {
            if (count >= MediaTypeFormatter.MaxHttpCollectionKeys)
            {
                throw Error.InvalidOperation(System.Net.Http.Properties.Resources.MaxHttpCollectionKeyLimitReached, MediaTypeFormatter.MaxHttpCollectionKeys, typeof(MediaTypeFormatter));
            }
        }

        protected HttpValueCollection(SerializationInfo info, StreamingContext context)
            : base(info, context)
        {
        }

        public override string ToString()
        {
            return ToString(true);
        }

        private string ToString(bool urlEncode)
        {
            if (Count == 0)
            {
                return String.Empty;
            }

            StringBuilder builder = new StringBuilder();
            bool first = true;
            foreach (string name in this)
            {
                string[] values = GetValues(name);
                if (values == null || values.Length == 0)
                {
                    first = AppendNameValuePair(builder, first, urlEncode, name, String.Empty);
                }
                else
                {
                    foreach (string value in values)
                    {
                        first = AppendNameValuePair(builder, first, urlEncode, name, value);
                    }
                }
            }

            return builder.ToString();
        }

        private static bool AppendNameValuePair(StringBuilder builder, bool first, bool urlEncode, string name, string value)
        {
            string effectiveName = name ?? String.Empty;
            string encodedName = urlEncode ? UriQueryUtility.UrlEncode(effectiveName) : effectiveName;

            string effectiveValue = value ?? String.Empty;
            string encodedValue = urlEncode ? UriQueryUtility.UrlEncode(effectiveValue) : effectiveValue;

            if (first)
            {
                first = false;
            }
            else
            {
                builder.Append("&");
            }

            builder.Append(encodedName);
            if (!String.IsNullOrEmpty(encodedValue))
            {
                builder.Append("=");
                builder.Append(encodedValue);
            }
            return first;
        }
    }
...
Рейтинг: 0 / 0
10.10.2013, 11:07
    #38422580
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
и кроме того, HttpUtility медленно катится в стадию deprecated
...
Рейтинг: 0 / 0
10.10.2013, 11:14
    #38422598
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
hVosttно почему класс internal? зачем скрывать?
Без понятия. Если нужно добавить пары, есть грязный хак: http://codearticles.ru/articles/165
...
Рейтинг: 0 / 0
10.10.2013, 11:14
    #38422599
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
hVosttи кроме того, HttpUtility медленно катится в стадию deprecated
Откуда информация?
...
Рейтинг: 0 / 0
10.10.2013, 11:16
    #38422601
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
МСУhVosttно почему класс internal? зачем скрывать?
Без понятия. Если нужно добавить пары, есть грязный хак: http://codearticles.ru/articles/165

жуть какая...
...
Рейтинг: 0 / 0
10.10.2013, 11:17
    #38422602
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
hVosttжуть какая...
В чем суть проблемы? Я тебе дал 2 способа, как нативно можно построить URL.
...
Рейтинг: 0 / 0
10.10.2013, 11:17
    #38422604
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
МСУhVosttи кроме того, HttpUtility медленно катится в стадию deprecated
Откуда информация?

вообщет это касается System.Web, куда попадает HttpUtility
...
Рейтинг: 0 / 0
10.10.2013, 11:18
    #38422611
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
hVosttвообщет это касается System.Web, куда попадает HttpUtility
Мне срать на то, чего это касается. Почему этот класс "медленно катится в стадию deprecated"?
...
Рейтинг: 0 / 0
10.10.2013, 11:20
    #38422613
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
МСУhVosttжуть какая...
В чем суть проблемы? Я тебе дал 2 способа, как нативно можно построить URL.

да и без тебя эти способы знаем. просто нужен класс построителя Query как тип, а не как инстанс, за выдачу которого надо кому-то отвечать. вообще много изучал чужого кода, в том числе в большущих проектах, как только не извращаются, чтобы построить злополучный Query. я считаю, это кто-то когда-то согрешил с этим internal. может думал, кто-то знает, была ли веская причина. видимо нет.
...
Рейтинг: 0 / 0
10.10.2013, 11:22
    #38422615
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
hVosttда и без тебя эти способы знаем.
А врать-то не надо. Ты ляпнул глупость про "единственный нативный класс для построения query" - а я тебе доказал, что ты бестолочь. Я прав?

hVosttпросто нужен класс построителя Query как тип, а не как инстанс, за выдачу которого надо кому-то отвечать.
Чё? Какой "не инстанс"? Ты что там у себя куришь?
...
Рейтинг: 0 / 0
10.10.2013, 11:24
    #38422619
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
МСУА врать-то не надо. Ты ляпнул глупость про "единственный нативный класс для построения query" - а я тебе доказал, что ты бестолочь. Я прав?

ээ.. чего? покажи какой-нибудь ещё класс? я пока увидел парочку методов. где классы?
...
Рейтинг: 0 / 0
10.10.2013, 11:25
    #38422622
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
МСУ,

при чем эти методы возвращают сабжевый класс. ты ничего не доказал. кроме того, что показал, что хотел чего-то доказать, только не понятно что.
...
Рейтинг: 0 / 0
10.10.2013, 11:26
    #38422624
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
hVosttээ.. чего? покажи какой-нибудь ещё класс? я пока увидел парочку методов. где классы?
Твоя тупость меня ставит в тупик... Вот эти классы: HttpUtility и Uri.

hVosttМСУ, при чем эти методы возвращают сабжевый класс. ты ничего не доказал. кроме того, что показал, что хотел чего-то доказать, только не понятно что.
Ты точно что-то куришь... Может, яду?
...
Рейтинг: 0 / 0
10.10.2013, 11:26
    #38422625
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
МСУПочему этот класс "медленно катится в стадию deprecated"?

ну дык, не надо оф. сообщений, чтобы это понять. читай чейнджлог репы вебстека.
...
Рейтинг: 0 / 0
10.10.2013, 11:29
    #38422629
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
МСУТвоя тупость меня ставит в тупик... Вот эти классы: HttpUtility и Uri.

выйди пожалуйста и закрой за собой дверь. эти классы для построения Query String делают одно и тоже, создают инстанс HttpValueCollection -- а про него я уже написал. ты упоротый чтоли? ну хватит уже, а.
...
Рейтинг: 0 / 0
10.10.2013, 11:29
    #38422630
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
hVosttМСУПочему этот класс "медленно катится в стадию deprecated"?
ну дык, не надо оф. сообщений, чтобы это понять. читай чейнджлог репы вебстека.
Опять ты пишешь очередную бредятину, за которую даже ответить не можешь... Ты хочешь сказать, что System.Web устарел? Откуда такая информация?

Чем дальше жмешь на пульсирующий мозг хвоста, тем больше желчи и напалма льется в форум.
...
Рейтинг: 0 / 0
10.10.2013, 11:31
    #38422633
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
hVosttМСУТвоя тупость меня ставит в тупик... Вот эти классы: HttpUtility и Uri.
выйди пожалуйста и закрой за собой дверь. эти классы для построения Query String делают одно и тоже, создают инстанс HttpValueCollection -- а про него я уже написал. ты упоротый чтоли? ну хватит уже, а.
Дверь пока рано закрывать. Нужно между дверьми зажать твою голову и размять твой гнилой моск. Где ты там в классе Uri увидел "создание инстанса HttpValueCollection"? Убейся об яд, чудик
...
Рейтинг: 0 / 0
10.10.2013, 11:32
    #38422636
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
МСУТы хочешь сказать, что System.Web устарел?

нет. не придумывай. я сказал "катится". информация много откуда, репа, мнение людей, общение с разрабами на стеке. если ты живешь только новостными заголовками, мне это до фанаря. значит жди официальных сообщений, и отстань от меня.
...
Рейтинг: 0 / 0
10.10.2013, 11:33
    #38422640
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
МСУДверь пока рано закрывать

состряпай Query String из следующей коллекции:

var args = new Dictionary<string, string> { { "par1", "val1" }, { "par2", "val2 ?!*<>hehey" } };

нативно.
...
Рейтинг: 0 / 0
10.10.2013, 11:33
    #38422641
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
И не выкручивайся, суть твоего гавнопоста была в том, как строить Query. Поэтому ты начал ныть о том, что HttpValueCollection закрыт для добавления параметров. Я же тебе объяснил, что не нужно врукопашную работать с HttpValueCollection (можно, но только через хак), нужно использовать HttpUtility или честный Uri. Отсюда вытекает постулат о том, что HttpValueCollection - это готовый выхлоп построения URL, но никак не класс для создания URL. Сечешь фишку? А теперь шагом марш за ядом.
...
Рейтинг: 0 / 0
10.10.2013, 11:35
    #38422643
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
МСУИ не выкручивайся, суть твоего гавнопоста была в том, как строить Query. Поэтому ты начал ныть о том, что HttpValueCollection закрыт для добавления параметров. Я же тебе объяснил, что не нужно врукопашную работать с HttpValueCollection (можно, но только через хак), нужно использовать HttpUtility или честный Uri. Отсюда вытекает постулат о том, что HttpValueCollection - это готовый выхлоп построения URL, но никак не класс для создания URL. Сечешь фишку? А теперь шагом марш за ядом.

окееей...
...
Рейтинг: 0 / 0
10.10.2013, 11:36
    #38422648
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HttpValueCollection -- чито за фигня?
hVosttМСУДверь пока рано закрывать

состряпай Query String из следующей коллекции:

var args = new Dictionary<string, string> { { "par1", "val1" }, { "par2", "val2 ?!*<>hehey" } };

нативно.

Держи:

Код: c#
1.
2.
3.
string url = "http://Default.aspx?par1=val1&par2=val2 ?!*<>hehey";
var query1 = HttpUtility.ParseQueryString(url);
var query2 = new Uri(url).Query;



{http%3a%2f%2fDefault.aspx%3fpar1=val1&par2=val2+%3f!*%3c%3ehehey}
"?par1=val1&par2=val2%20?!*%3C%3Ehehey"
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / HttpValueCollection -- чито за фигня? / 25 сообщений из 59, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]