powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Microsoft ASP.NET vNext: эволюция или революция?
25 сообщений из 275, страница 10 из 11
Microsoft ASP.NET vNext: эволюция или революция?
    #38758198
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttа не в какой-то другой язык.

Формальный язык в математической логике и информатике — множество конечных слов (строк, цепочек) над конечным алфавитом.

IL - по полной программе подходит
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758330
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
codearticles.ruАлексей Кпропущено...
Ну пишу же, что byte[] timestamp биндер нормально не десериализует. Или ты как и я не читаешь?
Какой byte[], акстись? Бери вью модель, вводи строку, туда base64. Не? Ну нет, я щас всё брошу, и буду везде мутить специальные DTO, потому что биндер при сериализации преобразует byte[] в base64 нормально, а обратно десериализовать не может. Накой мне такая технология?
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758331
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
codearticles.ru,

И таки ответь, ты когда выбираешь запись классификатора автокомплитом или комбобоксом, ты потом на сервер постишь ID записи или имя выбранного элемента в виде строки?
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758429
codearticles.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей Кcodearticles.ruпропущено...
Какой byte[], акстись? Бери вью модель, вводи строку, туда base64. Не? Ну нет, я щас всё брошу, и буду везде мутить специальные DTO, потому что биндер при сериализации преобразует byte[] в base64 нормально, а обратно десериализовать не может. Накой мне такая технология?
А в чем проблема? В хайден я кидаю бэйс 64, потом при сохранении снимаю это значение и проверяю. Либо можно вообще ничего не тянуть на клиента, а писать сразу в БД. При проверке читать, чьи тапки, и выдавать алерт. Зачем мне byte[] на клиенте, объясни?

Алексей Кcodearticles.ru, И таки ответь, ты когда выбираешь запись классификатора автокомплитом или комбобоксом, ты потом на сервер постишь ID записи или имя выбранного элемента в виде строки?
Конечно ID Вот тут есть рабочий проект по ФИАС (реинкарнация КЛАДРа), посмотри как сделано http://codearticles.ru/articles/2403.
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758472
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кcodearticles.ruпропущено...

Какой byte[], акстись? Бери вью модель, вводи строку, туда base64. Не? Ну нет, я щас всё брошу, и буду везде мутить специальные DTO, потому что биндер...А зачем DTO мутить, если биндер не устраивает? Запили/допили последний.
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758571
codearticles.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей, смотри какая красота (к вопросу по поводу id) ? :) http://codearticles.ru/articles/2281
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758712
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
codearticles.ruАлексей Кпропущено...
Ну нет, я щас всё брошу, и буду везде мутить специальные DTO, потому что биндер при сериализации преобразует byte[] в base64 нормально, а обратно десериализовать не может. Накой мне такая технология?
А в чем проблема? В хайден я кидаю бэйс 64, потом при сохранении снимаю это значение и проверяю. Либо можно вообще ничего не тянуть на клиента, а писать сразу в БД. При проверке читать, чьи тапки, и выдавать алерт. Зачем мне byte[] на клиенте, объясни?На клиенте он низачем. Тут вопрос, почему биндер самостоятельно не десериализует base64 => byte[] . Да и Бог с ним, для меня это в прошлом. :-)

codearticles.ruАлексей, смотри какая красота (к вопросу по поводу id) ? :) http://codearticles.ru/articles/2281
красивее
Код: 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.
interface KnockoutBindingHandlers {
    searchTextBox: KnockoutBindingHandler;
}

module ssp {
    export interface ISearchTextBoxProvider {
        getProposedItems(enteredText: string): JQueryPromise<any[]>;
        getIDByNameID(nameID: string): JQueryPromise<any>;
        getNameIDByID(id: any): JQueryPromise<string>;
        valueKey?: string;
        displayKey?: string;
    }

    var searchTextBoxNameCounter = 0;

    ko.bindingHandlers.searchTextBox = {
        init: (element: HTMLElement, valueAccessor: () => any, allBindings: KnockoutAllBindingsAccessor, viewModel, bindingContext: KnockoutBindingContext) => {
            if (element.nodeName.toLowerCase() != "input")
                throw "element.nodeName.toLowerCase() != \"input\"";

            var $element = $(element);
            var binding = valueAccessor();            
            var provider: ISearchTextBoxProvider = binding.provider;

            if (!provider)
                throw "!provider";

            var valueKey: string = binding.provider.valueKey || "ID";
            var displayKey: string = binding.provider.displayKey || "Caption";            
            var value: KnockoutObservable<any> = binding.value;

            if (!ko.isObservable(value))
                throw "!ko.isObservable(value)";            

            value.extend({ notify: "always" });

            var getProposedItemsCounter = 0;
            var getIDByNameIDCounter = 0;
            var getNameIDByIDCounter = 0;

            $element.typeahead(
                { highlight: true },
                {
                    name: "ssp-searchTextBox-" + (++searchTextBoxNameCounter),
                    displayKey: displayKey,
                    source: (enteredText, callback) => {
                        var c = ++getProposedItemsCounter;

                        provider.getProposedItems(enteredText)
                            .done(r => {
                                if (c != getProposedItemsCounter)
                                    return;

                                callback(r);
                            });
                    }
                });

            $element.on("typeahead:selected", (s, item, name) => {
                value(item ? item[valueKey] : null);
            });

            $element.focusout(() => {
                if ($element.val()) {
                    var c = ++getIDByNameIDCounter;

                    provider.getIDByNameID($element.val())
                        .done(r => {
                            if (c != getIDByNameIDCounter)
                                return;

                            value(r);
                        })
                        .fail(r => {
                            if (c != getIDByNameIDCounter)
                                return;

                            value(null);
                        });
                } else
                    value(null);
            });

            var updateFromValue = ko.computed(() => {
                var v = value();

                if (v) {
                    var c = ++getNameIDByIDCounter;

                    provider.getNameIDByID(v)
                        .done(r => {
                            if (c != getNameIDByIDCounter)
                                return;

                            $element.typeahead("val", r);
                        });
                } else
                    $element.typeahead("val", "");
            });

            ko.utils.domNodeDisposal.addDisposeCallback(element, () => {
                $element.typeahead("destroy");
                updateFromValue.dispose();
            });

            ko.applyBindingsToNode(element, { validationElement: value }, viewModel);

            return { controlsDescendantBindings: true };
        }
    };
}

...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758715
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Ну нет, я щас всё брошу, и буду везде мутить специальные DTO, потому что биндер...А зачем DTO мутить, если биндер не устраивает? Запили/допили последний.Может быть, но мне уже не актуально. :-)
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758722
codearticles.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей КНа клиенте он низачем.
Ну так о чем спич тогда?

Алексей КТут вопрос, почему биндер самостоятельно не десериализует base64 => byte[] . Да и Бог с ним, для меня это в прошлом. :-)
А не нужно такого, в 100% случаев не нужно. Или назовешь хоть один кейс, где мне на клиенте такое может понадобиться? Вот ты озвучил задачу с блокировкой тапок, ну да, серьезная задача, решается с помощью временных штампов. Но для этого на клиенте не нужен массив байт.

Алексей К
красивее
Код: 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.
interface KnockoutBindingHandlers {
    searchTextBox: KnockoutBindingHandler;
}

module ssp {
    export interface ISearchTextBoxProvider {
        getProposedItems(enteredText: string): JQueryPromise<any[]>;
        getIDByNameID(nameID: string): JQueryPromise<any>;
        getNameIDByID(id: any): JQueryPromise<string>;
        valueKey?: string;
        displayKey?: string;
    }

    var searchTextBoxNameCounter = 0;

    ko.bindingHandlers.searchTextBox = {
        init: (element: HTMLElement, valueAccessor: () => any, allBindings: KnockoutAllBindingsAccessor, viewModel, bindingContext: KnockoutBindingContext) => {
            if (element.nodeName.toLowerCase() != "input")
                throw "element.nodeName.toLowerCase() != \"input\"";

            var $element = $(element);
            var binding = valueAccessor();            
            var provider: ISearchTextBoxProvider = binding.provider;

            if (!provider)
                throw "!provider";

            var valueKey: string = binding.provider.valueKey || "ID";
            var displayKey: string = binding.provider.displayKey || "Caption";            
            var value: KnockoutObservable<any> = binding.value;

            if (!ko.isObservable(value))
                throw "!ko.isObservable(value)";            

            value.extend({ notify: "always" });

            var getProposedItemsCounter = 0;
            var getIDByNameIDCounter = 0;
            var getNameIDByIDCounter = 0;

            $element.typeahead(
                { highlight: true },
                {
                    name: "ssp-searchTextBox-" + (++searchTextBoxNameCounter),
                    displayKey: displayKey,
                    source: (enteredText, callback) => {
                        var c = ++getProposedItemsCounter;

                        provider.getProposedItems(enteredText)
                            .done(r => {
                                if (c != getProposedItemsCounter)
                                    return;

                                callback(r);
                            });
                    }
                });

            $element.on("typeahead:selected", (s, item, name) => {
                value(item ? item[valueKey] : null);
            });

            $element.focusout(() => {
                if ($element.val()) {
                    var c = ++getIDByNameIDCounter;

                    provider.getIDByNameID($element.val())
                        .done(r => {
                            if (c != getIDByNameIDCounter)
                                return;

                            value(r);
                        })
                        .fail(r => {
                            if (c != getIDByNameIDCounter)
                                return;

                            value(null);
                        });
                } else
                    value(null);
            });

            var updateFromValue = ko.computed(() => {
                var v = value();

                if (v) {
                    var c = ++getNameIDByIDCounter;

                    provider.getNameIDByID(v)
                        .done(r => {
                            if (c != getNameIDByIDCounter)
                                return;

                            $element.typeahead("val", r);
                        });
                } else
                    $element.typeahead("val", "");
            });

            ko.utils.domNodeDisposal.addDisposeCallback(element, () => {
                $element.typeahead("destroy");
                updateFromValue.dispose();
            });

            ko.applyBindingsToNode(element, { validationElement: value }, viewModel);

            return { controlsDescendantBindings: true };
        }
    };
}


Эпический ужас, всем прятаться и бояться!
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758727
codearticles.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей К, у тебя возникают такие идиотские задачи по поводу массивов байт, картинок и прочего, потому что ты отказался от тру серверной логики. Пилить её на js - преступление! Акстись уже!
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758740
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как трансформации debug|release|pubProfile на web.config накладывать?

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="log" type="System.Configuration.NameValueSectionHandler" />    
  </configSections>
  <connectionStrings configSource="AppConfig\dbConnection.config" />
  <log configSource="AppConfig\log.config" />
</configuration>


Часть конфигурации вынесена в файлы dbConnection.config и log.config . Как их трансформировать при публикации?
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758765
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
А зачем DTO мутить, если биндер не устраивает? Запили/допили последний.Может быть, но мне уже не актуально. :-)Гы. Давай, давай, копи технический долг :)
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758829
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Может быть, но мне уже не актуально. :-)Гы. Давай, давай, копи технический долг :)Не хочу. :-)

Про вебконфиг лучше расскажи. Всё что я видел не понравилось.
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758838
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КЧасть конфигурации вынесена в файлы dbConnection.config и log.config . Как их трансформировать при публикации?У нас PowerShell скрипты этим занимаются.
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758841
codearticles.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то Лёша опять окопался в каких-то эпических задачах. Сейчас начнёт хаять веб
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758844
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей КЧасть конфигурации вынесена в файлы dbConnection.config и log.config . Как их трансформировать при публикации?У нас PowerShell скрипты этим занимаются.Ок
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758847
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Также мы рассматривали SlowCheetah - XML Transforms , используется пока только в отдельном солюшине платежей.
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758848
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
codearticles.ruЧто-то Лёша опять окопался в каких-то эпических задачах. Сейчас начнёт хаять веб А чего его хаять? MS как всегда в своём репертуаре. Опять сделали возможность, которая вроде ничё так, но из-за банальной мелочи пользоваться ей невозможно.
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758852
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAТакже мы рассматривали SlowCheetah - XML Transforms , используется пока только в отдельном солюшине платежей.Да, видел, но пока решил не тянуть сторонние решения.
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758858
codearticles.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей Кпользоваться ей невозможно.
Ожидаемо
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758864
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
codearticles.ruАлексей Кпользоваться ей невозможно.
Ожидаемо Ну так пишем же не АРМ "Склад детского сада". Тут всё серьёзно. :-)
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758873
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAТакже мы рассматривали SlowCheetah - XML Transforms , используется пока только в отдельном солюшине платежей.Да, видел, но пока решил не тянуть сторонние решения.Ну думай дальше :)

Deploy Applications Using XDT Configuration Transformations
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758880
codearticles.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей КНу так пишем же не АРМ "Склад детского сада". Тут всё серьёзно. :-)
Дети хакнут эту АРМ через эксплойты твоего унылого js. И тогда ты придешь сюда. И опять будешь ныть, что ASP.NET гавно. Так?
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38758893
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Да, видел, но пока решил не тянуть сторонние решения.Ну думай дальше :)

Deploy Applications Using XDT Configuration Transformations Ок, посмотрю.
...
Рейтинг: 0 / 0
Microsoft ASP.NET vNext: эволюция или революция?
    #38759888
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
codearticles.ruАлексей КНу так пишем же не АРМ "Склад детского сада". Тут всё серьёзно. :-)
Дети хакнут эту АРМ через эксплойты твоего унылого js. И тогда ты придешь сюда. И опять будешь ныть, что ASP.NET гавно. Так? Отключить в браузере JavaScript?
...
Рейтинг: 0 / 0
25 сообщений из 275, страница 10 из 11
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Microsoft ASP.NET vNext: эволюция или революция?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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