Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Автор: karakurt2
Дата сообщения: 13.07.2015 10:54
Как сделать так, чтобы проекты, расположенные на сетевом диске, загружались без ошибок и предупреждений? Проект расположен на распределённой файловой системе, отображённой на логический диск с помощью команды net use. UAC используется, но пользователь состоит в группе администраторов. Права на запись в подозрительный каталог есть. Пробовал использовать команду caspol, но пока безуспешно.

Автор: ne_viens
Дата сообщения: 13.07.2015 11:33
net user administrator /active:yes
net user administrator AdminPassw2
runas /user:administrator devenv.exe

не работает?
Автор: karakurt2
Дата сообщения: 13.07.2015 11:42
Вопрос снимаю, права на запись в этот каталог отсутствовали у группы пользователей AD.
Автор: NeoAnomaly
Дата сообщения: 14.07.2015 20:27
Начал постигать asp.net и возник следующий вопрос. Почему представления mvc и webapi не юзают в одном проекте? Почему нельзя задать соотв. роутинги для контроллёров mvc/webapi, а необходимо из представления через ajax тянутся к webapi? И как с этим обстоят дела в новом asp.net 5 в нём всётаки контроллёры наследуются от одного и того же класса
Автор: DrakonHaSh
Дата сообщения: 14.07.2015 20:58
NeoAnomaly
какая у вас однако каша в голове


Цитата:
Почему представления mvc и webapi не юзают в одном проекте?

юзаются и очень часто (вернее чаще всего). возможно это в том примере, что вы изучаете, используют 2 разных проекта, чтобы показать то, что webapi можно юзать отдельно.


Цитата:
а необходимо из представления через ajax тянутся к webapi?

это будет необходимо и в случае одного проекта
Автор: NeoAnomaly
Дата сообщения: 15.07.2015 07:31

Цитата:
NeoAnomaly
какая у вас однако каша в голове

DrakonHaSh, с этим не спорю, сделал helloworld, полистал пару книжек и почитал www.asp.net, пока инфа не уложилась в голове. Теперь надо реализовать что-то осмысленное, практика лучший учитель

Поэтому перефразирую свой вопрос, если я хочу, чтобы моё веб приложение помимо браузера было доступно посредством сервиса(REST), но при этом сервис не должен обладать столь богатыми возможностями, которые могут потребоваться для построения веб морды, т.е. наружу я не хочу выводить весь доступный функционал, как это лучше организовать в проекте?
Автор: YuraseK
Дата сообщения: 15.07.2015 14:41
удалено
Автор: DrakonHaSh
Дата сообщения: 16.07.2015 10:40
NeoAnomaly

Цитата:
но при этом сервис не должен обладать столь богатыми возможностями, которые могут потребоваться для построения веб морды, т.е. наружу я не хочу выводить весь доступный функционал, как это лучше организовать в проекте?

не уверен что верно понимаю чего вы хотите. если вы хотите чтобы сервисы(или web api) были отдельно от веб сайта, перенесите его в отдельный проект (в рамках одного солюшена, хотя можно и отдельным солюшеном). тогда веб сайт будет работать на одном порту, а сервисы (web api) на другом. чтобы запускались оба проекта зайдите в свойства солюшена в Startup Project и выберите Multiple ...

вы кста, похоже, путаете/объединяете понятия веб сервиса и веб апи. это родственные сущности, не одни и те же.
Автор: mmotop20oo12
Дата сообщения: 15.08.2015 16:43
Доброго времени суток, вопрос возник, можно ли в C# использовать введенный символ как условие для конца цикла или просто оператора сравнения, т.к. если я пишу "if (ch = 's')", то сразу ругается, что невозможно преобразовать из char в bool. Еще сразу сверху вопрос, как возможно многократно вводит в 1 и тот же оператор значение с помощью console.readline()? 1ый раз в цикле нормально читает символ, дальше компилятор не обращает внимания на console.readline(), а берет и записывает в символ что-то свое, как от этого избавиться.

Добавлено:
P.S. ой... Вылетело с головы, что нужно писать "==" при сравнении, но вопрос о многократном присваивании 1 и той же char переменной значения еще в силе.
PSS в этот символ всегда записывается, почему-то \r, к чему возврат кортки то?

Код:
using System;

class TryToRead
{
static char ch;

public static void Main()
{
do
{
Console.Write(
"Нажмите любую клавишу, а затем -- <ENTER>: ");
ch = (char)Console.Read();
Console.WriteLine("Вы нажали клавишу: " + ch + "\n");
} while ((ch == '0') || (ch == '1'));
Console.ReadKey();
}

}
Автор: NeoAnomaly
Дата сообщения: 17.08.2015 12:58
mmotop20oo12, лучше опиши, какое поведение ты хочешь получить? Если ты хочешь вывести все набранные пользователем символы, то прочитай документацию к методу: Console.Read() https://msdn.microsoft.com/ru-ru/library/system.console.read(v=vs.110).aspx и исходя из этого поменяй условие цикла.
Автор: Vladimirll
Дата сообщения: 25.09.2015 00:09





Добавлено:
Good_man
bigsmaleman
rew
Здравствуйте ! Подскажите пожалуйста , где можно найти подробную теорию ПАРАМЕТРИЗОВАННЫЕ КЛАССЫ и примеры к теории ( В. В. Шишкин “ Лабораторный практикум по основам объектно-ориентированного программирования “ ). Смотрел в Интернете и в книгах практически ничего , а в методичке “ Лабораторный практикум по основам объектно-ориентированного программирования “ очень мало .

Язык с#

Автор: emarks
Дата сообщения: 22.10.2015 18:38
flibusta.net
Автор: WingfirE
Дата сообщения: 24.10.2015 17:56
Всем привет.
Как можно из строки "key1=value1; key2=value2; key3=value3; key4=value4; создать словарь Dictionary?
Автор: NeoAnomaly
Дата сообщения: 26.10.2015 08:07

Цитата:
Как можно из строки "key1=value1; key2=value2; key3=value3; key4=value4; создать словарь Dictionary?

WingfirE, как вариант split + linq, что-то на подобии:


Код: var dict = str.Split(';')
.Select(pair => pair.Split('='))
.ToDictionary(split => split[0], split => split[1]);
Автор: WingfirE
Дата сообщения: 26.10.2015 23:08
NeoAnomaly
Спасибо
Автор: mmotop20oo12
Дата сообщения: 08.11.2015 00:00
Здравствуйте. Писал класс, инкапсулирующий массив, создал метод, заполняющий его случайными числами с помощью класс Random. Только вот какая беда, создавая 2 экземпляра класса "массив", метод, заполняющий их, делает это одинаково, т.е. a11 = 5, и b11 = 5, и т.д.
Как можно убрать этот "псевдорандом"? Спасибо
[more]

Код:
using System;


namespace classArray
{

class sizeExeption : ApplicationException
{
public sizeExeption() : base() { }
public sizeExeption(string str) : base(str) { }
public override string ToString()
{
return base.ToString();
}
}

class newArray
{
int[,] arr;
int rows, columns;
public newArray()
{
rows = 1;
columns = 1;

arr = new int[rows, columns];
}
public newArray(int aRows_Columns)
{
rows = Math.Abs(aRows_Columns);
columns = Math.Abs(aRows_Columns);

arr = new int[rows, columns];
}
public newArray(int aRows, int aColumns)
{
rows = Math.Abs(aRows);
columns = Math.Abs(aColumns);

arr = new int[rows, columns];
}
//************** МЕТОД ЗАПОЛНЯЮЩИЙ МАССИВ *****************
public void FillArray()
{
Random rnd = new Random();

for (int i = 0; i < rows; i++)
{
for (int j = 0; j < columns; j++)
{
arr[i, j] = rnd.Next(-1, 5);
}
}
}

public virtual void Show()
{
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < columns; j++)
{
Console.Write("{0,3}", arr[i, j]);
}
Console.WriteLine();
}
}


static void CheckSizes(newArray aFirstArr, newArray aSecondArr)
{
try
{
if ((aFirstArr.rows != aSecondArr.rows) | (aFirstArr.columns != aSecondArr.columns))
{
throw new sizeExeption("массивы не одинаковы по размерам");
}
}
catch (sizeExeption)
{
throw;
}
}

public static newArray operator +(newArray aFirstArr, newArray aSecondArr)
{
try
{
CheckSizes(aFirstArr, aSecondArr);

newArray temp = new newArray(aFirstArr.rows, aFirstArr.columns);

for (int i = 0; i < aFirstArr.rows; i++)
{
for (int j = 0; j < aFirstArr.columns; j++)
{
temp.arr[i, j] = aFirstArr.arr[i, j] + aFirstArr.arr[i, j];
}
}
return temp;
}

catch (sizeExeption exn)
{
Console.WriteLine(exn.Message);
Console.WriteLine("будет сгенерирована нулевая матрица");
return new newArray(aFirstArr.rows, aSecondArr.columns);
}

}

public static newArray operator -(newArray aFirstArr, newArray aSecondArr)
{
try
{
CheckSizes(aFirstArr, aSecondArr);

newArray temp = new newArray(aFirstArr.rows, aFirstArr.columns);

for (int i = 0; i < aFirstArr.rows; i++)
{
for (int j = 0; j < aFirstArr.columns; j++)
{
temp.arr[i, j] = aFirstArr.arr[i, j] - aFirstArr.arr[i, j];
}
}
return temp;
}

catch (sizeExeption exn)
{
Console.WriteLine(exn.Message);
Console.WriteLine("будет сгенерирована нулевая матрица");
return new newArray(aFirstArr.rows, aSecondArr.columns);
}

}

static int Continue_Multiply(int aI, int aJ, newArray aFirstArr, newArray aSecondArr)
{
int result = 0;
for (int i = 0; i < aFirstArr.rows; i++)
{
result += aFirstArr.arr[aI, i] * aSecondArr.arr[i, aJ];
}
return result;
}
public static newArray operator *(newArray aFirstArr, newArray aSecondArr)
{
try
{
CheckSizes(aFirstArr, aSecondArr);

newArray temp = new newArray(aFirstArr.rows, aFirstArr.columns);

for (int i = 0; i < aFirstArr.rows; i++)
{
for (int j = 0; j < aFirstArr.columns; j++)
{
temp.arr[i, j] = Continue_Multiply(i, j, aFirstArr, aSecondArr);
}
}
return temp;
}

catch (sizeExeption exn)
{
Console.WriteLine(exn.Message);
Console.WriteLine("будет сгенерирована нулевая матрица");
return new newArray(aFirstArr.rows, aSecondArr.columns);
}

}
}


class mainProgramm
{
static void Main(string[] args)
{
newArray arr1 = new newArray(3, 3);

newArray arr2 = new newArray(3, 3);

arr1.FillArray();
arr2.FillArray();

arr1.Show();
Console.WriteLine();
arr2.Show();
Console.WriteLine();


}
}
}
Автор: iNNOKENTIY21
Дата сообщения: 08.11.2015 12:59
Random rnd = new Random();
один раз только надо, а не при каждом вызове метода.
Автор: mmotop20oo12
Дата сообщения: 08.11.2015 13:05
iNNOKENTIY21
Спасибо.
Автор: mmotop20oo12
Дата сообщения: 08.11.2015 16:43
iNNOKENTIY21
Да вот беда... я поставил rnd как поле, но все равно массивы одинаковые...
Автор: iNNOKENTIY21
Дата сообщения: 08.11.2015 17:05
где поле создал?
[more]
Код: public void FillArray(Random rnd)
{
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < columns; j++)
{
arr[i, j] = rnd.Next(-1, 5);
}
}
}
Автор: mmotop20oo12
Дата сообщения: 08.11.2015 23:37
iNNOKENTIY21
аа... так, нет я в классе newArray создавал, спасибо вам, еще раз
Автор: mmotop20oo12
Дата сообщения: 09.11.2015 20:32
Здравствуйте еще раз, я хочу скачать себе рефлектор, мне очень понравился тот, который использует в своих видео Александр Шевчук (уроки по C# делает, там стартовый, базовый, проф), Можете посоветовать, просто хочу иметь возможность залезть во все пространства имен, и посмотреть реализацию методов, ведь они в VS все скрыты, там только комменты.
Автор: NeoAnomaly
Дата сообщения: 10.11.2015 06:36
mmotop20oo12 посмотри в сторону dotPeek, бесплатный, удобная навигация. В момент, когда появился некоторые вещи декомпилил лучше(речь не про BCL), как сейчас в сравнении с рефлектором - не знаю, может подтянули его
Автор: iNNOKENTIY21
Дата сообщения: 10.11.2015 19:18
ILSpy еще есть.

у telerik чего то обнаружилось JustDecompile, не пользовался, но их fiddler очень даже гуд.
Автор: Rustamer
Дата сообщения: 11.11.2015 06:56
mmotop20oo12
По части качества кода в целом рефлектор имхо остается лучшим. Ему мешает лишь медленный запуск и не слишком удобный интерфейс.

По удобству и простоте мне очень нравится Telerik JustDecompile (особенно нравится поиск). Для начинающих он лучший из-за интерфейса.

Если нужен реверсинг/отлом/дебаг, то вне конкуренции тут DnSpy (отличный форк ILSpy, а то ILSpy уже не развивается). Там и встроенный дебагер и замечательный редактор опкодов, основанный не на стандартном Mono.Cecil, а на другой библиотеке. Что касается аналогичного Reflexil-а под Reflector, то он в чем-то удобен, но сейчас им уже не пользуюсь почти. Другой декомпиль есть еще в DevExpress CodeRush, но кажется это просто содранный другой декомпиль.

По части DotPeek не скажу ничего плохого кроме некоторой тормознутости, зато он удобен тем, что довольно хорошо встраивается в студию - буквально сразу прозрачно можешь смотреть код чужих методов/классов не покидая студию.

P.S. Все остальные декомпили не заслуживают внимания
Автор: mmotop20oo12
Дата сообщения: 11.11.2015 09:17
Rustamer
Спасибо за развернутый ответ, а какой из них может, просто, без Exe файла залезть во все namespace'ы C#, или они все обладают таким свойством?
Автор: Rustamer
Дата сообщения: 11.11.2015 10:10
mmotop20oo12
Да, они все обладают таким свойством. Стандартные сборки дотнета(кроме нативных(не дотнетовых) dll-ек конечно) без проблем открываются (всякие там System.Data и тп). Они или покажутся сами, или откроешь их из GAC-а, или пойдешь по Referenc-ам какой-нибудь сборки. В том же JustDecompile вообще есть функция Load Framework для загрузки стандартных сборок. А так если хочется прямо из студии, то DotPeek подходит.
Автор: mrdime
Дата сообщения: 11.11.2015 11:53
Господа, кто-то может подсказать чем можна устанавливать/ изменять Extended MAPI Properties в MS Outlook?
Хочу изменить некоторые MAPI-свойства в исходящем письме, а они к сожалению, штатно доступны только "для чтения" и то в закодированном виде, хотя из интерфейса Outlook-а устанавливаются без проблем.
Для работы планирую использовать C#.
Автор: mxm1975
Дата сообщения: 12.11.2015 21:52
mrdime

не оно?

http://www.codeproject.com/Articles/19139/Bridging-the-gap-between-NET-and-Extended-MAPI



Добавлено:
и ещё

https://www.add-in-express.com/creating-addins-blog/2008/04/07/how-to-get-access-to-hidden-outlook-items-via-extended-mapi/
Автор: mrdime
Дата сообщения: 16.11.2015 15:36
mxm1975

Цитата:
http://www.codeproject.com/Articles/19139/Bridging-the-gap-between-NET-and-Extended-MAPI

Спасибо, интересная статья, довольно сложно для быстрого восприятия. Буду пробовать разбираться, хотя судя по отзывам не у всех подход автора работает.

Цитата:
https://www.add-in-express.com/creating-addins-blog/2008/04/07/how-to-get-access-to-hidden-outlook-items-via-extended-mapi/

Эту статью я встречал, но там решают проблему с помощью add-in-express, котоый платный, "бесплатный" вариант его я пока не нашел.
Пока пробую решить задачу с помощью Redemption library http://www.dimastr.com/redemption/objects.htm

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102

Предыдущая тема: Как удалить/добавить/отключить/включить устройство?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.