Как сделать так, чтобы проекты, расположенные на сетевом диске, загружались без ошибок и предупреждений? Проект расположен на распределённой файловой системе, отображённой на логический диск с помощью команды net use. UAC используется, но пользователь состоит в группе администраторов. Права на запись в подозрительный каталог есть. Пробовал использовать команду caspol, но пока безуспешно.
» Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET
net user administrator /active:yes
net user administrator AdminPassw2
runas /user:administrator devenv.exe
не работает?
net user administrator AdminPassw2
runas /user:administrator devenv.exe
не работает?
Вопрос снимаю, права на запись в этот каталог отсутствовали у группы пользователей AD.
Начал постигать asp.net и возник следующий вопрос. Почему представления mvc и webapi не юзают в одном проекте? Почему нельзя задать соотв. роутинги для контроллёров mvc/webapi, а необходимо из представления через ajax тянутся к webapi? И как с этим обстоят дела в новом asp.net 5 в нём всётаки контроллёры наследуются от одного и того же класса
NeoAnomaly
какая у вас однако каша в голове
Цитата:
юзаются и очень часто (вернее чаще всего). возможно это в том примере, что вы изучаете, используют 2 разных проекта, чтобы показать то, что webapi можно юзать отдельно.
Цитата:
это будет необходимо и в случае одного проекта
какая у вас однако каша в голове
Цитата:
Почему представления mvc и webapi не юзают в одном проекте?
юзаются и очень часто (вернее чаще всего). возможно это в том примере, что вы изучаете, используют 2 разных проекта, чтобы показать то, что webapi можно юзать отдельно.
Цитата:
а необходимо из представления через ajax тянутся к webapi?
это будет необходимо и в случае одного проекта
Цитата:
NeoAnomaly
какая у вас однако каша в голове
DrakonHaSh, с этим не спорю, сделал helloworld, полистал пару книжек и почитал www.asp.net, пока инфа не уложилась в голове. Теперь надо реализовать что-то осмысленное, практика лучший учитель
Поэтому перефразирую свой вопрос, если я хочу, чтобы моё веб приложение помимо браузера было доступно посредством сервиса(REST), но при этом сервис не должен обладать столь богатыми возможностями, которые могут потребоваться для построения веб морды, т.е. наружу я не хочу выводить весь доступный функционал, как это лучше организовать в проекте?
удалено
NeoAnomaly
Цитата:
не уверен что верно понимаю чего вы хотите. если вы хотите чтобы сервисы(или web api) были отдельно от веб сайта, перенесите его в отдельный проект (в рамках одного солюшена, хотя можно и отдельным солюшеном). тогда веб сайт будет работать на одном порту, а сервисы (web api) на другом. чтобы запускались оба проекта зайдите в свойства солюшена в Startup Project и выберите Multiple ...
вы кста, похоже, путаете/объединяете понятия веб сервиса и веб апи. это родственные сущности, не одни и те же.
Цитата:
но при этом сервис не должен обладать столь богатыми возможностями, которые могут потребоваться для построения веб морды, т.е. наружу я не хочу выводить весь доступный функционал, как это лучше организовать в проекте?
не уверен что верно понимаю чего вы хотите. если вы хотите чтобы сервисы(или web api) были отдельно от веб сайта, перенесите его в отдельный проект (в рамках одного солюшена, хотя можно и отдельным солюшеном). тогда веб сайт будет работать на одном порту, а сервисы (web api) на другом. чтобы запускались оба проекта зайдите в свойства солюшена в Startup Project и выберите Multiple ...
вы кста, похоже, путаете/объединяете понятия веб сервиса и веб апи. это родственные сущности, не одни и те же.
Доброго времени суток, вопрос возник, можно ли в 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();
}
}
Добавлено:
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();
}
}
mmotop20oo12, лучше опиши, какое поведение ты хочешь получить? Если ты хочешь вывести все набранные пользователем символы, то прочитай документацию к методу: Console.Read() https://msdn.microsoft.com/ru-ru/library/system.console.read(v=vs.110).aspx и исходя из этого поменяй условие цикла.
Добавлено:
Good_man
bigsmaleman
rew
Здравствуйте ! Подскажите пожалуйста , где можно найти подробную теорию ПАРАМЕТРИЗОВАННЫЕ КЛАССЫ и примеры к теории ( В. В. Шишкин “ Лабораторный практикум по основам объектно-ориентированного программирования “ ). Смотрел в Интернете и в книгах практически ничего , а в методичке “ Лабораторный практикум по основам объектно-ориентированного программирования “ очень мало .
Язык с#
flibusta.net
Всем привет.
Как можно из строки "key1=value1; key2=value2; key3=value3; key4=value4; создать словарь Dictionary?
Как можно из строки "key1=value1; key2=value2; key3=value3; key4=value4; создать словарь Dictionary?
Цитата:
Как можно из строки "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]);
NeoAnomaly
Спасибо
Спасибо
Здравствуйте. Писал класс, инкапсулирующий массив, создал метод, заполняющий его случайными числами с помощью класс 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();
}
}
}
Как можно убрать этот "псевдорандом"? Спасибо
[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();
}
}
}
Random rnd = new Random();
один раз только надо, а не при каждом вызове метода.
один раз только надо, а не при каждом вызове метода.
iNNOKENTIY21
Спасибо.
Спасибо.
iNNOKENTIY21
Да вот беда... я поставил rnd как поле, но все равно массивы одинаковые...
Да вот беда... я поставил rnd как поле, но все равно массивы одинаковые...
где поле создал?
[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);
}
}
}
[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);
}
}
}
iNNOKENTIY21
аа... так, нет я в классе newArray создавал, спасибо вам, еще раз
аа... так, нет я в классе newArray создавал, спасибо вам, еще раз
Здравствуйте еще раз, я хочу скачать себе рефлектор, мне очень понравился тот, который использует в своих видео Александр Шевчук (уроки по C# делает, там стартовый, базовый, проф), Можете посоветовать, просто хочу иметь возможность залезть во все пространства имен, и посмотреть реализацию методов, ведь они в VS все скрыты, там только комменты.
mmotop20oo12 посмотри в сторону dotPeek, бесплатный, удобная навигация. В момент, когда появился некоторые вещи декомпилил лучше(речь не про BCL), как сейчас в сравнении с рефлектором - не знаю, может подтянули его
ILSpy еще есть.
у telerik чего то обнаружилось JustDecompile, не пользовался, но их fiddler очень даже гуд.
у telerik чего то обнаружилось JustDecompile, не пользовался, но их fiddler очень даже гуд.
mmotop20oo12
По части качества кода в целом рефлектор имхо остается лучшим. Ему мешает лишь медленный запуск и не слишком удобный интерфейс.
По удобству и простоте мне очень нравится Telerik JustDecompile (особенно нравится поиск). Для начинающих он лучший из-за интерфейса.
Если нужен реверсинг/отлом/дебаг, то вне конкуренции тут DnSpy (отличный форк ILSpy, а то ILSpy уже не развивается). Там и встроенный дебагер и замечательный редактор опкодов, основанный не на стандартном Mono.Cecil, а на другой библиотеке. Что касается аналогичного Reflexil-а под Reflector, то он в чем-то удобен, но сейчас им уже не пользуюсь почти. Другой декомпиль есть еще в DevExpress CodeRush, но кажется это просто содранный другой декомпиль.
По части DotPeek не скажу ничего плохого кроме некоторой тормознутости, зато он удобен тем, что довольно хорошо встраивается в студию - буквально сразу прозрачно можешь смотреть код чужих методов/классов не покидая студию.
P.S. Все остальные декомпили не заслуживают внимания
По части качества кода в целом рефлектор имхо остается лучшим. Ему мешает лишь медленный запуск и не слишком удобный интерфейс.
По удобству и простоте мне очень нравится Telerik JustDecompile (особенно нравится поиск). Для начинающих он лучший из-за интерфейса.
Если нужен реверсинг/отлом/дебаг, то вне конкуренции тут DnSpy (отличный форк ILSpy, а то ILSpy уже не развивается). Там и встроенный дебагер и замечательный редактор опкодов, основанный не на стандартном Mono.Cecil, а на другой библиотеке. Что касается аналогичного Reflexil-а под Reflector, то он в чем-то удобен, но сейчас им уже не пользуюсь почти. Другой декомпиль есть еще в DevExpress CodeRush, но кажется это просто содранный другой декомпиль.
По части DotPeek не скажу ничего плохого кроме некоторой тормознутости, зато он удобен тем, что довольно хорошо встраивается в студию - буквально сразу прозрачно можешь смотреть код чужих методов/классов не покидая студию.
P.S. Все остальные декомпили не заслуживают внимания
Rustamer
Спасибо за развернутый ответ, а какой из них может, просто, без Exe файла залезть во все namespace'ы C#, или они все обладают таким свойством?
Спасибо за развернутый ответ, а какой из них может, просто, без Exe файла залезть во все namespace'ы C#, или они все обладают таким свойством?
mmotop20oo12
Да, они все обладают таким свойством. Стандартные сборки дотнета(кроме нативных(не дотнетовых) dll-ек конечно) без проблем открываются (всякие там System.Data и тп). Они или покажутся сами, или откроешь их из GAC-а, или пойдешь по Referenc-ам какой-нибудь сборки. В том же JustDecompile вообще есть функция Load Framework для загрузки стандартных сборок. А так если хочется прямо из студии, то DotPeek подходит.
Да, они все обладают таким свойством. Стандартные сборки дотнета(кроме нативных(не дотнетовых) dll-ек конечно) без проблем открываются (всякие там System.Data и тп). Они или покажутся сами, или откроешь их из GAC-а, или пойдешь по Referenc-ам какой-нибудь сборки. В том же JustDecompile вообще есть функция Load Framework для загрузки стандартных сборок. А так если хочется прямо из студии, то DotPeek подходит.
Господа, кто-то может подсказать чем можна устанавливать/ изменять Extended MAPI Properties в MS Outlook?
Хочу изменить некоторые MAPI-свойства в исходящем письме, а они к сожалению, штатно доступны только "для чтения" и то в закодированном виде, хотя из интерфейса Outlook-а устанавливаются без проблем.
Для работы планирую использовать C#.
Хочу изменить некоторые MAPI-свойства в исходящем письме, а они к сожалению, штатно доступны только "для чтения" и то в закодированном виде, хотя из интерфейса Outlook-а устанавливаются без проблем.
Для работы планирую использовать C#.
mxm1975
Цитата:
Спасибо, интересная статья, довольно сложно для быстрого восприятия. Буду пробовать разбираться, хотя судя по отзывам не у всех подход автора работает.
Цитата:
Эту статью я встречал, но там решают проблему с помощью add-in-express, котоый платный, "бесплатный" вариант его я пока не нашел.
Пока пробую решить задачу с помощью Redemption library http://www.dimastr.com/redemption/objects.htm
Цитата:
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, истории становления российского интернета. Сделано для людей.