1

(3 відповідей, залишених у C#, .NET)

FakiNyan написав:

а як саме ви то робите?

Через заголовки відповідей http в диспетчері IIS або у файл web.config додаю нове значення

<system.webServer>
        <httpProtocol>
            <customHeaders>
                <add name="Cache-Control" value="no-cache" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>

намагалась видалити попередні значення за допомогою

<remove name="Cache-Control" />

але не допомагає

2

(3 відповідей, залишених у C#, .NET)

Необхідно задати значення Cache-Control: no-cache, але за замовчуванням стоїть Cache-Control: private, max-age=0. Коли додаю нове значення, воно додається в кінець, Cache-Control: private, max-age=0, no-cache. Чи можна видалити попередні значення і залишити лише  Cache-Control: no-cache?

3

(6 відповідей, залишених у Бази даних)

FakiNyan написав:

але таблицю, яка є на локальній базі, в базу на azure не переносить

а як саме ви намагаєтесь то перенести?

при створенні бази передаю строку підключення локальної бази, та і навіть,якщо вручно створюю таку ж таблицю в базі на azure, помилка не змінюється

Доброго дня. Виникла така проблема, при розміщенні проекту ASP Net Core в Azure, підключаю локальну базу, все публікується, навіть у Microsoft SQL Server можу підключитись до бази в Azure, але таблицю, яка є на локальній базі, в базу на azure не переносить, як це можна виправити?

Помилка при запуску проекту відповідна SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)

5

(23 відповідей, залишених у Обговорення)

0xDADA11C7 написав:
wander написав:

Ви маєте розуміти, що реалістичнішої задачі, ніж ту що вам дають на проєкті, ви від жодного ментора не отримаєте.

Це в ідеалі, а життя не завжди ідеальне. Реалістичне завдання не завжди складне алгоритмічно(в моєму випадку так буває), а тим більше не завжди може почекати на якісну імплементацію . Зараз я на проєкті "тягну" до знань саппорта, який може і дуб по знаннях, але психічно здоровий дуб, швидше за все без мене його б звільнили, узявши якогось більш просунуту в знаннях, але менш здорову людину.

Вот і я хотіла би працювати над собою і бути хорошим спеціалістом, щоб потім іншим не треба було мене тягнути))

6

(23 відповідей, залишених у Обговорення)

wander написав:
burlaka.dina написав:
wander написав:

Нащо вам це? Ви ж вже працюєте, швидше за все трейні або джуном, так от я не повірю, що в компанії до вас не приставили наставника? Тай, якщо вас таки взяли на роботу, отже необхідним мінімумом знань ви володієте, отже здатні до самонавчання, то чому ж саме зараз вам потрібен ментор?

Тому що я не хочу займати час своїх колег на моє навчання, хочу мати можливість навчатись паралельно з основною роботою, для того, аби не писати спагетті-код і не думати, як краще відділити бізнес-логіку від реалізації, мені здається, це корисно, коли більш досвідчені люди можуть подивитись на твій код і сказати, яку фігню ти тут написав, а головне - пояснити чому, щоб у майбутньому таких помилок не було

Ну, ви ж розумієте, що сторонній людині ви не зможете показувати той код, що пишете для компанії? Також набираючи джунів, компанія (адекватна) і не очікує від вас код рівня сіньйора, а навпаки, розуміє це і готова вас навчати, в цьому і є весь сенс. Тому, навпаки, мені не зрозуміло, чому ви так боїтесь питатись щось у своїх старших колег.
Зрештою, якщо у вас є гітхаб з вашими пет-проєктами й хочете отримати фідбек, то просто викладайте його сюди.

Добре, дякую, я уже написала выще, що мені не потрібно, щоб хтось дивився мій робочий код, як мінімум, це заборонено правилами компанії, річ саме про власний код

7

(23 відповідей, залишених у Обговорення)

javascriptIsLife написав:

burlaka.dina це справжня людина чи хтось зареєстрував ще один обліковий запис?

Якщо чесно, я не розумію, що вас дивує, так це справжній обліковий запис, навіщо створювати фейковий запис, якщо шукаєш ментора, з яким можна спілкуватись, як повідомленнями, так і у зумі, я розумію, якби я хотіла, щоб хтось мені дипломну роботу зробив, але для пошуку ментора, мені здається це дещо дивно

8

(23 відповідей, залишених у Обговорення)

0xDADA11C7 написав:

А... то ви так і кажіть - я маю код, якого я не можу викласти на загальний огляд, тому потребую надійну людину зі знаннями, щоби провести ревізію мого коду, якого я пишу на роботі.

Ні, мені не потрібна ревізія робочого коду. Я хотіла б аби мені поставили задачу, яку я вирішу, а те, як я її вирішу, подивились і прокоментували, що не так, що можна покращити і чому саме, от такі справи)

9

(23 відповідей, залишених у Обговорення)

wander написав:

Нащо вам це? Ви ж вже працюєте, швидше за все трейні або джуном, так от я не повірю, що в компанії до вас не приставили наставника? Тай, якщо вас таки взяли на роботу, отже необхідним мінімумом знань ви володієте, отже здатні до самонавчання, то чому ж саме зараз вам потрібен ментор?

Тому що я не хочу займати час своїх колег на моє навчання, хочу мати можливість навчатись паралельно з основною роботою, для того, аби не писати спагетті-код і не думати, як краще відділити бізнес-логіку від реалізації, мені здається, це корисно, коли більш досвідчені люди можуть подивитись на твій код і сказати, яку фігню ти тут написав, а головне - пояснити чому, щоб у майбутньому таких помилок не було

10

(23 відповідей, залишених у Обговорення)

Усім привіт, впевнена, що на цьому форумі є круті програмісти, які не проти поділитись власним досвідом.

Я вже працюю у цій сфері, але хочу вдосконалити свої знання, краще опанувати використання паттернів, алгоритмів і структур. Більш якісно і професійно писати чистий код та будувати проекти.

Впевнена, що є речі, які не знаєш або не вмієш застосовувати, а людина із більшим досвідом вкаже на це та пояснить як краще.

Я тут уже давно і тут мені не раз допомагали, тому я впевнена, що зможу тут знайти хорошого вчителя. Якщо ви знаєте таких, або самі не проти поділитися досвідом і знаннями, дуже чекаю ваших повідомлень.

11

(0 відповідей, залишених у C#, .NET)

Маю таке завдання "Згрупуйте всі продукти за категоріями, всередині – за наявністю на складі, всередині останньої групи відсортуйте за цінами"

Таким чином його вирішую

public static IEnumerable<Linq7CategoryGroup> Linq7(IEnumerable<Product> products)
        {
            _ = products ?? throw new ArgumentNullException();

            /* example of Linq7result

             category - Beverages
                UnitsInStock - 39
                    price - 18.0000
                    price - 19.0000
                UnitsInStock - 17
                    price - 18.0000
                    price - 19.0000
             */

            var result = products.GroupBy(category => category.Category)
               .Select(grp => (
               grp.Key,
               grp.GroupBy(uni => uni.UnitsInStock)
               .Select(stock =>
               (
               stock.Key,
               stock.OrderBy(price => price.UnitPrice)
               )
               )));

            return (IEnumerable<Linq7CategoryGroup>)result;
        }

Питання - Як вивести значення того типу, що необхідно в методі?

IEnumerable<Linq7CategoryGroup>

трохи змінила код запиту, але помилка залишилась попередньою

var r = products.GroupBy(product => product.Category, (category, element) => (
                category,
                element.GroupBy(item => item.UnitsInStock, (units, products) =>
                (
                    units,
                    products.OrderBy(t => t.UnitPrice).Select(t => t.UnitPrice)
                ))
            ));

код классу Linq7CategoryGroup

public class Linq7CategoryGroup
    {
        public string Category { get; set; }
        public IEnumerable<Linq7UnitsInStockGroup> UnitsInStockGroup { get; set; }
    }

    public class Linq7UnitsInStockGroup
    {
        public int UnitsInStock { get; set; }
        public IEnumerable<decimal> Prices { get; set; }
    }

https://replace.org.ua/uploads/images/9993/723ad6f6d95e618c669ef3157d52ac1b.png

хелп

12

(2 відповідей, залишених у C#, .NET)

koala написав:

Я видалив дублікат.

Це не "універсальний тип T", це параметр узагальненого класа (дженерика). Почитати про дженерики можете тут; але взагалі, якщо ви вже так цікавитеся мовою, то раджу вам купити книжку. Воно себе виправдає.

Дякую))  так, я поки обрала Троелсена, але можливо ви ще якісь порадите?)

13

(2 відповідей, залишених у C#, .NET)

Є такий метод, який повинен повертати універсальний тип Т, підкажіть, де можна детальніше ознайомитись із цією темою? А саме, що саме можна повернути із цього методу або як краще приводити до цього типу?

public T Get<T>()
{
    throw new NotImplementedException();
}

14

(2 відповідей, залишених у C#, .NET)

koala написав:

https://docs.microsoft.com/uk-ua/dotnet … ew=net-5.0 і взагалі про рефлексії

Дякую))

15

(2 відповідей, залишених у C#, .NET)

У мене є тест

public void AddTypeTandTBase_Import_ReturnCustomerBL2()
{
    c.AddType(typeof(cDAL), typeof(IcDAL));
    c.AddType(typeof(Logger));
    c.AddType(typeof(cBLL2));

    var сBLL = c.Get<cBLL2>();

    Assert.ThatBLL, Is.Not.Null);
    Assert.ThatBLL, Is.InstanceOf<cBLL2>());
    Assert.ThatBLL.cDAL, Is.Not.Null);
    Assert.ThatBLL.cDAL, Is.InstanceOf<IcDAL>());
    Assert.ThatBLL.Logger, Is.Not.Null);
    Assert.ThatBLL.Logger, Is.InstanceOf<Logger>());
}

і мені необхідно зробити так, аби він успішно виконувався, для цього необхідно змінити методи

public void AddType(Type type)
{
    if(type == null)
    {
        new ArgumentNullException();
    }
}

public void AddType(Type type, Type baseType)
{
     
}

public T Get<T>()
{
    throw new NotImplementedException();
}

Підкажіть,як краще це реалізувати, не прошу готовий код, але можливо підкажете ресурси, де зможу знайти необхідну інформацію?

16

(6 відповідей, залишених у C#, .NET)

koala написав:

Поділіться робочим кодом з майбутніми поколіннями, будь ласка.

я реалізувала таким чином))

public override bool Equals(object obj)
{
    Product product = obj as Product;

    if (obj == null || obj as Product == null)
    {
        return false;
    }
    return product.Name == this.Name && product.Price == this.Price;
}

17

(6 відповідей, залишених у C#, .NET)

koala написав:

Десь так

супер, дуже дякую, все працює)))

18

(6 відповідей, залишених у C#, .NET)

koala написав:

Equals має перевіряти не адреси, а по рівність значень. Адреси перевіряє звичайне порівняння ==. Але Equals має бути перевантажено в класі Product, інакше порівняння може бути некоректним.

зараз там немає перевантаження, можливо ви підкажете, як правильно це зробити?

19

(6 відповідей, залишених у C#, .NET)

Підкажіть будь ласка, у мене в метод передається делегат

Predicate<Product> predicate
public static int IndexOf(Product[] products, Predicate<Product> predicate)
        {
                    var product = products[i];
                    if (predicate(product)){ //завжди false
                    //do something
                    }

а в тесті в цей делегат передається метод Equals

public void Test()
        {
            var products = new Product[]
            {
                new Product("Product 3", 30.0d),
            };
            var productToFind = new Product("Product 3", 30.0d);
 
            int index = Utilities.IndexOf(products, product => product.Equals(productToFind));

звісно ці змінні не дорівнюють одна одній, адже, не дивлячись на те, що значення у них однакові, адреси - різні, але, можливо ви підкажете, як можна змінити метод  IndexOf, аби цей тест виконувався і я отримувала значення true, коли значення product буде дорівнювати значенню productToFind

20

(29 відповідей, залишених у C#, .NET)

Engineer написав:

Не потрібно нічого додавати в структури
об'єкт IWebHostEnvironment _appEnvironment використовується для інформації про зовнішнє середовище програми, в тому числі і про папку звідки програма запускається.

Бачу можливу помилку тут

 public class Global_El
    {
        public static IWebHostEnvironment _appEnvironment;
        public Global_El(IWebHostEnvironment appEnvironment)
        {
            _appEnvironment = appEnvironment;
        }

        public Global_El() // цей конструктор взагалі потрібний ???
        {
        }

        Color_struct_art color_struct_art = new Color_struct_art();
        Type_struct_art type_struct_art = new Type_struct_art();
        Dimensions_struct_art dimensions_struct_art = new Dimensions_struct_art();
        Filling_struct_id filling_struct_id = new Filling_struct_id();
        Glass_struct_id glass_struct_id = new Glass_struct_id();
        Color_struct_id color_struct_id = new Color_struct_id();
        Openingconfig_struct_id openingconfig_struct_id = new Openingconfig_struct_id();

        Saving_El saving_El = new Saving_El();
        XML_El xml_El = new XML_El(_appEnvironment); //помилка тут

В останньому рядку помилка - створення елемента XML_El, коли _appEnvironment ще не ініціалізований в конструкторі
бо таке створення членів класу відбувається до виклику конструктора класу. Зі створенням структур проблем не виникає, бо там не передаються ніякі параметри, а при створенні  XML_El передався непроініціалізований об'єкт _appEnvironment, через який в подальшому і виникла помилка

Думаю що найпростіше  переробити ось так

public class Global_El
    {
        public static IWebHostEnvironment _appEnvironment;
        public Global_El(IWebHostEnvironment appEnvironment)
        {
            _appEnvironment = appEnvironment;
            xml_El = new XML_El(_appEnvironment);
        }       

        Color_struct_art color_struct_art = new Color_struct_art();
        Type_struct_art type_struct_art = new Type_struct_art();
        Dimensions_struct_art dimensions_struct_art = new Dimensions_struct_art();
        Filling_struct_id filling_struct_id = new Filling_struct_id();
        Glass_struct_id glass_struct_id = new Glass_struct_id();
        Color_struct_id color_struct_id = new Color_struct_id();
        Openingconfig_struct_id openingconfig_struct_id = new Openingconfig_struct_id();

        Saving_El saving_El = new Saving_El();
        XML_El xml_El;

сказати, що ви геній - нічого не сказати!!!!))) все працює!))) дякую Вам величезне!!))