Результаты поиска
Как я могу вычислить чей-то возраст в C#?
Учитывая, что DateTime представляет собой день рождения человека, как я могу рассчитать его возраст в годах?
Разница между Math.Floor() и Math.Truncate()
В чем разница между Math.Floor() и Math.Truncate() В.NET?
Заполнение DataSet или DataTable из результирующего набора запроса LINQ
Как можно представить запрос LINQ как веб-службу ASMX? Обычно с бизнес-уровня я могу вернуть типизированный DataSet или DataTable , который может быть сериализован для транспорта через ASMX.
Как я могу сделать то же самое для запроса LINQ? Есть ли способ заполнить типизированный DataSet или DataTable с помощью запроса LINQ?
public static MyDataTable CallMySproc()
{
string conn = "...";
MyDatabaseDataContext db = new MyDatabaseDataContext(conn);
MyDataTable dt = new MyDataTable();
// execute a sproc via LINQ
var query = from dr
in db.MySproc().AsEnumerable
select dr;
// copy LINQ query resultset into a DataTable -this does not work !
dt = query.CopyToDataTable();
return dt;
}
Как я могу получить результирующий набор запроса LINQ в DataSet или DataTable ? Кроме того, можно ли сериализовать запрос LINQ, чтобы я мог представить его как веб-службу ASMX?
Надежный таймер в консольном приложении
Я знаю, что в .NET есть три типа таймеров (см. сравнение классов таймеров в библиотеке классов фреймворка .NET ). Я выбрал потоковый таймер, поскольку другие типы могут дрейфовать, если основной поток занят, и мне нужно, чтобы это было надежно.
Способ работы этого таймера в управлении таймером помещается на другой поток, поэтому он всегда может тикать вместе с работой, начатой в Родительском потоке, когда он не занят.
Проблема с этим таймером в консольном приложении заключается в том, что, пока таймер тикает на другом потоке, основной поток ничего не делает для закрытия приложения.
Я попробовал добавить цикл while true , но тогда основной поток слишком занят, когда таймер действительно выключается.
Как я могу получить отчетливый, упорядоченный список имен из DataTable, используя LINQ?
У меня есть DataTable с колонкой Name . Я хочу создать коллекцию уникальных имен, упорядоченных в алфавитном порядке. Следующий запрос игнорирует предложение order by .
var names =
(from DataRow dr in dataTable.Rows
orderby (string)dr["Name"]
select (string)dr["Name"]).Distinct();
Почему orderby не исполняется?
Подкачка коллекции с помощью LINQ
Как вы просматриваете коллекцию в LINQ, учитывая, что у вас есть startIndex и count ?
Анатомия " утечки памяти"
В перспективе .NET:
- Что такое утечка памяти ?
- Как вы можете определить, утечка ли вашего приложения? Что же это за последствия?
- Как можно предотвратить утечку памяти?
- Если у вашего приложения есть утечка памяти, она исчезает при завершении процесса или убивается? Или утечки памяти в вашем приложении влияют на другие процессы в системе даже после завершения процесса?
- А как насчет неуправляемого кода, доступ к которому осуществляется через COM Interop и / или P/Invoke?
Декодирование T-SQL приведено в C#/VB.NET
Недавно наш сайт был затоплен с возрождением asprox ботнет SQL инъекции атаки. Не вдаваясь в подробности, атака пытается выполнить код SQL, кодируя команды T-SQL в кодированной строке ASCII BINARY. Это выглядит примерно так:
DECLARE%20@S%20NVARCHAR(4000);SET%20@S=CAST(0x44004500...06F007200%20AS%20NVARCHAR(4000));EXEC(@S);--
Я смог расшифровать это в SQL, но я немного опасался делать это, так как я не знал точно, что происходило в то время.
Я попытался написать простой инструмент декодирования, чтобы я мог декодировать этот тип текста, даже не касаясь сервера SQL . Основная часть, которую мне нужно декодировать, - это:
CAST(0x44004500...06F007200 AS
NVARCHAR(4000))
Я пробовал все следующие команды без удачи:
txtDecodedText.Text =
System.Web.HttpUtility.UrlDecode(txtURLText.Text);
txtDecodedText.Text =
Encoding.ASCII.GetString(Encoding.ASCII.GetBytes(txtURLText.Text));
txtDecodedText.Text =
Encoding.Unicode.GetString(Encoding.Unicode.GetBytes(txtURLText.Text));
txtDecodedText.Text =
Encoding.ASCII.GetString(Encoding.Unicode.GetBytes(txtURLText.Text));
txtDecodedText.Text =
Encoding.Unicode.GetString(Convert.FromBase64String(txtURLText.Text));
Как правильно перевести эту кодировку без использования SQL Server? Возможно ли это? Я возьму код VB.NET, так как я тоже знаком с этим.
Хорошо, я уверен, что я что-то упускаю, так что вот где я нахожусь.
Поскольку мой ввод является основной строкой, я начал с фрагмента закодированной части-4445434C41 (что переводится как DECLA) - и первая попытка была сделать это...
txtDecodedText.Text = Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(txtURL.Text));
...и все, что он сделал, это вернул то же самое, что я вставил, так как он преобразовал каждый символ в байт.
Я понял, что мне нужно разобрать каждые два символа в байт вручную, так как я еще не знаю никаких методов, которые это сделают, поэтому теперь мой маленький декодер выглядит примерно так:
while (!boolIsDone)
{
bytURLChar = byte.Parse(txtURLText.Text.Substring(intParseIndex, 2));
bytURL[intURLIndex] = bytURLChar;
intParseIndex += 2;
intURLIndex++;
if (txtURLText.Text.Length - intParseIndex < 2)
{
boolIsDone = true;
}
}
txtDecodedText.Text = Encoding.UTF8.GetString(bytURL);
Все выглядит хорошо для первой пары пар, но затем цикл останавливается, когда он добирается до пары "4C" и говорит, что строка находится в неправильном формате.
Интересно, что когда я перехожу через отладчик и к методу GetString на массиве байтов, который я смог разобрать до этого момента, я получаю", - + " в результате.
Как мне выяснить, что мне не хватает - нужно ли мне делать "direct cast" для каждого байта вместо того, чтобы пытаться разобрать его?
ASP.NET Карты Сайтов
Есть ли у кого-нибудь опыт создания поставщиков карт сайтов на основе SQL ASP.NET ?
У меня есть файл по умолчанию XML web.sitemap , который правильно работает с моими элементами управления меню и SiteMapPath , но мне нужен способ для пользователей моего сайта динамически создавать и изменять страницы.
Мне также нужно привязать разрешения на просмотр страниц к стандартной системе членства ASP.NET .
XSD DataSets и игнорирование внешних ключей
У меня есть довольно стандартная настройка таблицы в текущем приложении с использованием функций .NET XSD DataSet и TableAdapter . Моя таблица contracts состоит из некоторой стандартной информации о контракте, со столбцом для primary department . Этот столбец является внешним ключом к моей таблице Departments , где я храню основные department name , id, notes . Все это настраивается и функционирует на моем сервере SQL .
Когда я использую инструмент XSD, я могу перетащить обе таблицы сразу, и он автоматически обнаруживает/создает внешний ключ, который у меня есть между этими двумя таблицами. Это отлично работает, когда я нахожусь на своей главной странице и просматриваю данные контракта.
Однако, когда я перехожу на свою административную страницу, чтобы изменить данные отдела, я обычно делаю что-то вроде этого:
Dim dtDepartment As New DepartmentDataTable()
Dim taDepartment As New DepartmentTableAdapter()
taDepartment.Fill(dtDepartment)
Однако в этот момент возникает исключение, говорящее о том, что здесь нарушена ссылка на внешний ключ, я предполагаю, поскольку у меня нет заполненного Contract DataTable .
Как я могу исправить эту проблему? Я знаю, что могу просто удалить внешний ключ из XSD, чтобы все работало нормально, но иметь дополнительную проверку целостности там и иметь схему XSD, соответствующую схеме SQL в базе данных, приятно.
Сжатие / Распаковка Папок И Файлов
Кто-нибудь знает хороший способ быстро сжимать или распаковывать файлы и папки в C#? Возможно, потребуется обработка больших файлов.
Как синхронизировать номер редакции SVN с моим веб-сайтом ASP.NET?
Переполнение стека имеет номер версии subversion внизу:
svn пересмотр: 679
Я хочу использовать такое автоматическое управление версиями с моими формами .NET Web Site/Application , Windows, WPD projects/solutions.
Как мне это реализовать?
Разбор чисел с плавающей запятой: есть ли алгоритм Catch All?
Одна из самых интересных частей мультикультурного программирования-это числовые форматы.
- Американцы используют 10,000.50
- Немцы используют 10.000,50
- Французы используют 10 000,50
Мой первый подход состоял бы в том, чтобы взять строку, разобрать ее назад, пока я не найду разделитель, и использовать его в качестве десятичного разделителя. В этом есть очевидный недостаток: 10.000 будет интерпретировано как 10.
Другой подход: если строка содержит 2 разных нечисловых символа, используйте последний в качестве десятичного разделителя и отбросьте остальные. Если у меня есть только один, проверьте, не происходит ли это несколько раз, и отбросьте его, если это происходит. Если он появляется только один раз, проверьте, есть ли после него 3 цифры. Если да, то отбросьте его, в противном случае используйте его в качестве десятичного разделителя.
Очевидным "best solution" было бы определить культуру пользователя или браузер, но это не работает, если у вас есть француз, использующий en-US Windows/Browser.
Может быть, фреймворк .net содержит какой-то мифический парсер с плавающей точкой черной магии, который лучше, чем Double.(Try)Parse() , пытается автоматически определить формат чисел?
Создание базы данных SQLite на основе набора данных XSD
Кто-нибудь знает, есть ли способ создать базу данных SQLite на основе XSD DataSet ? В прошлом я просто использовал базовый менеджер SQLite, но хочу немного больше объединить вещи с моей разработкой .NET , если это возможно.
Добавление функциональности сценариев в приложения .NET
У меня есть небольшая игра, написанная в C#., она использует базу данных в качестве бэк-энда. Это это была торговая карточная игра, и я хотел реализовать функцию карт в виде скрипта.
Я имею в виду, что у меня по существу есть интерфейс , ICard, который реализует класс карт ( public class Card056: ICard ) и который содержит функцию, вызываемую игрой.
Теперь, чтобы сделать вещь maintainable/moddable,, я хотел бы иметь класс для каждой карты в качестве исходного кода в базе данных и по существу скомпилировать его при первом использовании. Поэтому, когда мне нужно добавить/изменить карту, я просто добавлю ее в базу данных и скажу своему приложению обновить, не требуя никаких assembly deployment (тем более, что мы будем говорить о 1 assembly на карту, что означает сотни сборок).
Разве это возможно? Зарегистрируйте класс из исходного файла, а затем создайте его экземпляр и т. д.
ICard Cards[current] = new MyGame.CardLibrary.Card056();
Cards[current].OnEnterPlay(ref currentGameState);
Язык C#, но дополнительный бонус, если есть возможность написать сценарий на любом языке .NET.
Как вы сортируете словарь по значению?
Мне часто приходится сортировать словарь, состоящий из ключей & значений, по значению. Например, у меня есть hash слов и соответствующих частот, которые я хочу упорядочить по частоте.
Есть SortedList , который хорош для одного значения (скажем, частоты), и я хочу сопоставить его со словом.
SortedDictionary заказы по ключу, а не по значению. Некоторые прибегают к пользовательскому классу, но есть ли более чистый способ?
Доморощенное потребление веб-сервисов
Я написал несколько веб-сервисов для приложения .net , теперь я готов их использовать. Я видел множество примеров, когда существует доморощенный код для использования службы в отличие от использования автоматически созданных методов, которые Visual Studio создает при добавлении веб-ссылки.
Есть ли в этом какие-то преимущества?
Как написать на Web.Config в Medium Trust?
Загрузка моего первого приличного размера веб-приложения на мой общий хост обеспечила мне новый набор проблем, под которыми я подразумеваю бессонные ночи. Проблема заключалась в том, что я, безусловно, не разработал свое приложение для среднего доверия (или не имел понятия, что это такое.)
Я смягчил все проблемы, кроме одной.
Я написал установщик для администратора, чтобы иметь возможность указать свою строку подключения и другие настройки, но я не могу найти способ написать в web.config в среднем доверии. У кого-нибудь есть решение, или я должен просто поместить настройки в другой файл?
Контрольный список для IIS 6/ASP.NET Windows аутентификации?
У меня возникли проблемы с тем, чтобы мое приложение ASP.NET автоматически регистрировало пользователей на сайте интрасети, который я создаю. Независимо от того, что я гуглил или экспериментировал, всегда есть окно входа, отображаемое IE7.
Я установил режим аутентификации Windows в Web.config, отключил анонимный доступ и настроил правильный домен по умолчанию в IIS, но он все еще просит пользователя войти в систему и, что еще более раздражает, пользователь должен также предоставить домен ( DOMAIN\auser ), что вызывает проблемы с нетехническими посетителями. Спасибо Zeus за функциональность запоминания паролей.
Я не являюсь администратором сети, поэтому вполне возможно, что что-то в Active Directory настроено неправильно, или это может быть просто я пропустил что-то очень простое. Обратите внимание, что я не хочу выдавать себя за пользователя, мне просто нужно знать, что свойство IPrincipal.Name совпадает с действительной записью в моей базе данных пользователей, следовательно, аутентификация пользователя в моем приложении.
С этой целью было бы очень полезно иметь контрольный список всех требований к конфигурации для AD, ASP.NET и IIS, чтобы работать вместе таким образом в качестве справочного материала для отладки и, надеюсь, уменьшить некоторые трения пользователей.
Встроенная база данных для .net, которая может работать вне сети
Я искал (и до сих пор ищу) встроенную базу данных для использования в приложении .net (c#). Предостережение: приложение (или, по крайней мере, база данных) хранится на сетевом диске, но используется только 1 пользователем одновременно.
Итак, моя первая идея была SQL Server Compact edition . Это действительно хорошо интегрировано, но оно не может работать вне сети.
Firebird, по -видимому, имеет ту же проблему, но интеграция .net, по-видимому, не является действительно первоклассной и в значительной степени недокументирована.
Blackfish SQL выглядит интересно, но пробной версии .net нет. Ценообразование также OK.
Есть ли другие предложения о том, что хорошо работает с .net и работает вне сети без необходимости установки серверного программного обеспечения?
Советы по тестированию .NET Framework
Я ищу, чтобы ввести платформу модульного тестирования в микс на моей работе. Мы используем Visual Studio 2005 (хотя в ближайшие 6 месяцев мы можем перейти к 2008 году) и работаем в основном в C#., если платформа имеет какую-то интеграцию IDE, которая была бы лучше всего, но я открыт для платформ, которые не имеют интеграции, но все еще относительно просты в настройке. Так или иначе, я собираюсь получить сопротивление, так что если я смогу убедиться, что то, что я толкаю, не является болью в шее, это поможет моему делу.
Очевидный выбор из исследования, которое я сделал до сих пор, указывает на nUnit, но я хотел бы получить впечатления от кого-то, кто действительно использовал его, прежде чем рекомендовать его моей команде.
Кто-нибудь там использовал nUnit? Если да, то есть ли какие-то подводные камни или ограничения, о которых я должен знать? Есть ли другие хорошие варианты? Если это так, если вы использовали оба nUnit при этом, я был бы очень признателен за представление о сильных и слабых сторонах их.
Почему провайдер VFP .NET OLEdb не работает в 64-битном Windows?
Я написал службу windows, используя VB, которая считывает некоторые устаревшие данные из баз данных Visual Foxpro, которые будут вставлены в SQL 2005. Проблема заключается в том, что это использование прекрасно работает в Windows server 2003 32-бит, но клиент недавно перешел на Windows 2003 64-бит, и теперь служба не будет работать. Я получаю сообщение, что поставщик VFP .NET OLEdb не найден. Я исследовал, и все, кажется, указывает на то, что нет никакого решения. Любая помощь, пожалуйста...
Как создать новый экземпляр объекта из типа
Можно не всегда знать Type объекта во время компиляции, но может потребоваться создать экземпляр Type . Как получить новый экземпляр объекта из Type ?
Локализация дескрипторов формата даты
Что является лучшим способом, чтобы локализовать формат даты, дескриптора?
Как знает любой человек из культуры, которая не использует формат mm/dd/yyyy, раздражает необходимость вводить даты в этом формате. То.NET framework обеспечивает очень хорошую поддержку локализации, поэтому тривиально анализировать даты в соответствии с культурой пользователей, но вы часто хотите также отобразить полезную подсказку относительно требуемого формата (особенно для различения yy и yyyy, которые взаимозаменяемы в большинстве культур).
Каков наилучший способ сделать это таким образом, чтобы иметь смысл для большинства пользователей (например, dd/M/yyy сбивает с толку из-за изменения регистра и переключения между одной и двумя буквами).
CruiseControl.net, msbuild, /p:OutputPath и CCNetArtifactDirectory
В данный момент я пытаюсь настроить CruiseControl.net. До сих пор это работает хорошо, но у меня есть проблема с задачей MSBuild.
Согласно документации, он проходит от CCNetArtifactDirectory до MSBuild. Но как мне его использовать?
Я попробовал это сделать:
<buildArgs>
/noconsolelogger /p:OutputPath=$(CCNetArtifactDirectory)\test
</buildArgs>
Но это не работает. На самом деле, он убивает службу с этой ошибкой:
ThoughtWorks.CruiseControl.Core.Config.Preprocessor.EvaluationException: ссылка на неизвестный символ CCNetArtifactDirectory
Документация довольно скудна, и google und в основном предлагает изменить файл проекта .sln, чего я хочу избежать, чтобы иметь возможность вручную построить этот проект позже - я бы действительно предпочел /p:OutputPath .
Необработанный обработчик исключений в .NET 1.1
Я поддерживаю приложение .NET 1.1, и одна из моих задач-убедиться, что пользователь не видит никаких недружественных уведомлений об ошибках.
Я добавил обработчики к Application.ThreadException и AppDomain.CurrentDomain.UnhandledException, которые действительно вызываются. Моя проблема заключается в том, что стандартный диалог ошибки CLR все еще отображается (до вызова обработчика исключений).
Джефф рассказывает об этой проблеме в своем блоге здесь и здесь . Но нет никакого решения. Итак, каков стандартный способ в .NET 1.1 обрабатывать необнаруженные исключения и отображать дружественное диалоговое окно?
Ответ Джеффа был отмечен как правильный ответ, потому что ссылка, которую он предоставил, содержит самую полную информацию о том, как сделать то, что требуется.
Как получить значение built, encoded ViewState?
Мне нужно захватить base64-кодированное представление ViewState. Очевидно, что это будет доступно только на довольно позднем этапе жизненного цикла запроса, который составляет OK.
Например, если выходные данные страницы включают:
<input type="hidden" name="__VIEWSTATE"
id="__VIEWSTATE" value="/wEPDwUJODU0Njc5MD...==" />
Мне нужен способ на стороне сервера, чтобы получить значение "/wEPDwUJODU0Njc5MD...=="
Чтобы уточнить, мне нужно это значение, когда страница визуализируется, а не на PostBack. например, мне нужно знать значение ViewState, которое отправляется клиенту,а не ViewState, которое я получаю от них.
Используйте ревизию SVN для обозначения сборки в CCNET
Я использую CCNET в примерном проекте с SVN в качестве системы управления версиями. CCNET настроен для создания сборки при каждом возврате. CCNET использует MSBuild для построения исходного кода.
Я хотел бы использовать последний номер редакции для генерации AssemblyInfo.cs при компиляции.
Как я могу извлечь последнюю версию из subversion и использовать значение в CCNET?
Edit: я не использую NAnt-только MSBuild.
Отображение недействительным только в Safari
Один из сайтов, которые я поддерживаю, сильно зависит от использования ViewState (это не мой код). Однако на некоторых страницах, где ViewState является чрезмерно раздутым, Safari выдает ошибку "Validation of viewstate MAC failed" .
Это, кажется, происходит только в Safari. Firefox, IE и Opera все загружаются успешно в том же сценарии.
Предельный размер очереди в .NET?
У меня есть объект Queue<T>, который я инициализировал до емкости 2, но очевидно, что это просто емкость, и она продолжает расширяться по мере добавления элементов. Есть ли уже объект, который автоматически отменяет запрос элемента при достижении предела, или это лучшее решение для создания моего собственного наследуемого класса?
nAnt все еще поддерживается и подходит для .net 3.5/VS2008?
Я использую MSBuild, чтобы построить свой материал. Я хочу использовать CruiseControl.net как сервер сборки.
Теперь CCNET много ссылается на nAnt, но похоже, что ccnet может сделать большую часть того, что может сделать nant через конфигурацию проекта и msbuild. Кроме того, nAnt кажется немного неподдерживаемым, С бета-релизом, которому уже почти год.
Короче говоря: я на самом деле вполне доволен MSBuild (тем более, что это передний конец компилятора "official") и немного неудобен с nAnt, но я не хочу судить преждевременно.
Каковы были бы причины использовать nAnt вместо MSBuild? Особенно с ccnet, который, кажется, немного перекрывается с nant с точки зрения функций (и добавления связанных с автоматизированной сборкой вещей)
Как проверить наличие блокировки файлов?
Есть ли способ проверить, заблокирован ли файл без использования блока try / catch?
Прямо сейчас, единственный способ, который я знаю, это просто открыть файл и поймать любой System.IO.IOException .
Использование MSTest с CruiseControl.NET
Мы уже довольно давно используем CruiseControl с NUnit и NAnt. Для недавнего проекта мы решили использовать платформу тестирования, которая поставляется с Visual Studio, которая до сих пор была адекватной.
Я пытаюсь запустить решение в CruiseControl. Я, наконец, получил саму сборку для работы; однако я не смог получить никаких тестов для отображения в интерфейсе CruiseControl, несмотря на добавление пользовательских задач сборки и компонентов, предназначенных для этого. У кого-нибудь есть окончательная ссылка на инструкции по настройке этой настройки?
Subsonic против NHibernate
Каково же общее мнение о том, когда следует использовать один из этих инструментов по отношению к другому? Я нахожу Subsonic очень полезным с точки зрения быстрого выполнения задач, но в больших проектах он имеет тенденцию не масштабироваться, и это связывает вашу модель домена с вашей моделью базы данных. Именно здесь появляется Nhibernate, поскольку он дает вам облегченные POCOs, которые не связаны с вашей моделью базы данных, но время настройки намного больше.
Каковы в настоящее время наилучшие варианты распараллеливания приложения CPU-intensive .NET?
Это открытый вопрос. Какие подходы я должен рассмотреть?
ASP.Net Пользовательская Проверка На Стороне Клиента
У меня есть пользовательская функция проверки в JavaScript в пользовательском элементе управления на веб-сайте .Net 2.0, которая проверяет, не превышает ли уплаченная плата причитающуюся сумму.
Я поместил код валидатора в файл ascx , а также попытался использовать Page.ClientScript.RegisterClientScriptBlock() и в обоих случаях срабатывает проверка, но не могу найти функцию JavaScript.
Вывод в консоли ошибок Firefox - это "feeAmountCheck is not defined" . Вот эта функция (она была взята непосредственно из firefox - >view source)
<script type="text/javascript">
function feeAmountCheck(source, arguments)
{
var amountDue = document.getElementById('ctl00_footerContentHolder_Fees1_FeeDue');
var amountPaid = document.getElementById('ctl00_footerContentHolder_Fees1_FeePaid');
if (amountDue.value > 0 && amountDue >= amountPaid)
{
arguments.IsValid = true;
}
else
{
arguments.IsValid = false;
}
return arguments;
}
</script>
Есть идеи, почему эта функция не найдена? Как я могу исправить это, не добавляя функцию на главную страницу или страницу потребления?
Регулирование полосы пропускания в IIS 6 по IP-адресу
Я пишу приложение, которое загружает большие файлы в фоновом режиме. Все клиенты регистрируются локально или через VPN. Когда они вошли в систему локально, я не хочу ограничивать загрузку. Однако я хотел бы ограничить загрузку до 10 KBps, когда пользователь подключен через VPN. Я могу различать этих пользователей по диапазону IP-адресов.
Поскольку это приложение AIR, я полагаю, что я буду дросселировать через серверную сторону, так как я могу сделать это либо с самого сервера (IIS 6), либо с веб-службы (asp.net / C#).
Дросселирование через IIS 6, похоже, работает нормально, но похоже, что это должно быть сделано по всему веб-сайту. Есть ли в любом случае, чтобы сделать это через IP? Или мне придется все это подстроить .NET?
Интеграция тестового проекта Visual Studio с круиз-контролем
Я изучаю использование встроенных модульных тестовых проектов Visual Studio 2008 вместо NUnit, и мне было интересно, есть ли у кого-нибудь опыт в попытке интегрировать этот тип модульного тестового проекта с Cruise Control.Net.
429   1   16:03, 1st July, 2020
ASP.NET встроенный профиль пользователя против старого стиля пользовательского класса / таблиц
Я ищу руководство по лучшей практике использования функции профиля в ASP.NET.
Как вы решаете, что должно храниться во встроенном профиле пользователя, или если вы должны создать свою собственную таблицу базы данных и добавить столбец для нужных полей? Например, у пользователя есть код zip, должен ли я Сохранить код zip в своей собственной таблице или добавить его в профиль web.config xml и получить доступ к нему через механизм профиля пользователя ASP.NET?
Плюсы / минусы, о которых я могу думать прямо сейчас, заключаются в том, что, поскольку я не очень хорошо знаю профиль (сейчас это немного Матрица), я, вероятно, могу делать все, что захочу, если я пойду по маршруту таблицы (например, SQL, чтобы получить всех пользователей в том же коде zip, что и текущий пользователь). Я не знаю, смогу ли я сделать то же самое, если я использую профиль ASP.NET.
Пакеты модульного тестирования .NET?
Возвращаясь к немного более .NET после нескольких лет не использовать его полный рабочий день, и интересно, что хорошие пакеты модульного тестирования являются в наши дни.
Я знаком с NUnit (несколько лет назад), и немного поиграл с IronRuby, с целью получить что-то вроде rspec, но не знаю ничего сверх этого.
Я понимаю, что мог бы погуглить для этого и назвать его днем, но я думаю, что, скорее всего, получу лучший и более информированный ответ, задав вопрос здесь :-)
Предложения?
Тройные Кавычки? Как я могу разграничить строковый параметр databound Javascript в ASP.NET?
Как я могу разграничить строковый параметр Javascript с привязкой к данным в событии anchor OnClick ?
- У меня есть тег anchor в элементе управления ретранслятором ASP.NET.
- Событие
OnClickanchor содержит вызов функции Javascript. - Функция Javascript принимает строку в качестве входного параметра.
- Строковый параметр заполняется привязанным к данным значением из ретранслятора.
Мне нужен "double quotes" для Container.DataItem .
Мне нужен 'single quotes' для OnClick .
А мне еще нужен один разделитель (тройные кавычки?) для входного строкового параметра вызова функции Javascript.
Поскольку я не могу использовать 'single quotes' снова, как я могу гарантировать, что функция Javascript знает, что входной параметр является строкой, а не целым числом?
Без дополнительных кавычек вокруг входного строкового параметра функция Javascript думает, что я передаю целое число.
В anchor:
<a id="aShowHide" onclick='ToggleDisplay(<%# DataBinder.Eval(Container.DataItem, "JobCode") %>);' >Show/Hide</a>
а вот и Javascript-й:
<script language="JavaScript" type="text/javascript">
/* Shows/Hides the Jobs Div */
function ToggleDisplay(jobCode)
{
/* Each div has its ID set dynamically ('d' plus the JobCode) */
var elem = document.getElementById('d' + jobCode);
if (elem)
{
if (elem.style.display != 'block')
{
elem.style.display = 'block';
elem.style.visibility = 'visible';
}
else
{
elem.style.display = 'none';
elem.style.visibility = 'hidden';
}
}
}
</script>
CSV импорт файлов в .Net
Я понимаю, что это вопрос новичка, но я ищу простое решение - кажется, что оно должно быть.
Как лучше всего поместить файл import a CSV в строго типизированную структуру данных? Опять же просто = лучше.
Как сделать RedirectToAction в ASP.NET MVC без потери данных запроса
Использование ASP.NET MVC существуют ситуации (например, подача формы), которые могут потребовать RedirectToAction .
Одна из таких ситуаций возникает, когда вы сталкиваетесь с ошибками проверки после отправки формы и должны перенаправить обратно в форму, но хотели бы, чтобы URL отражал URL формы, а не страницу действий, на которую она отправляется.
Поскольку я требую, чтобы форма содержала исходные данные POST ed, для удобства пользователя, а также для целей проверки, как я могу передать данные через RedirectToAction() ? Если я использую параметр viewData, мои параметры POST будут изменены на параметры GET .
Подходят ли когда-нибудь несколько классов DataContext?
Чтобы полностью использовать LinqToSql в приложении ASP.net 3.5, необходимо создать классы DataContext (что обычно делается с помощью конструктора в VS 2008). С точки зрения UI, DataContext-это дизайн разделов вашей базы данных, которые вы хотели бы предоставить через LinqToSql, и является неотъемлемой частью в настройке функций ORM LinqToSql.
Мой вопрос: я настраиваю проект, который использует большую базу данных, где все таблицы связаны каким-то образом через внешние ключи. Моя первая склонность-сделать один огромный класс DataContext, который моделирует всю базу данных. Таким образом, я мог бы теоретически (хотя я не знаю, понадобится ли это на практике) использовать внешние ключевые соединения, которые генерируются через LinqToSql, чтобы легко переходить между связанными объектами в моем коде, вставлять связанные объекты и т. д.
Однако после некоторых размышлений я теперь думаю, что может быть более целесообразно создать несколько классов DataContext, каждый из которых относится к определенному пространству имен или логическому взаимосвязанному разделу в моей базе данных. Моя главная проблема заключается в том, что создание и удаление одного огромного класса DataContext все время для отдельных операций, связанных с конкретными областями базы данных, будет налагать ненужное наложение на ресурсы приложения. Кроме того, легче создавать и управлять меньшими файлами DataContext, чем одним большим. То, что я потеряю, - это то, что будут некоторые удаленные разделы базы данных, которые не будут доступны для навигации через LinqToSql (даже если цепочка отношений соединяет их в реальной базе данных). Кроме того, будут существовать некоторые классы таблиц, которые будут существовать в более чем одном DataContext.
Любые мысли или опыт о том, являются ли множественные DataContexts (соответствующие пространствам имен DB) подходящими вместо (или в дополнение к) одному очень большому классу DataContext (соответствующему всему DB)?
Наиболее эффективный способ проверки типа объекта
У меня есть значения, сохраненные в виде строк в DataTable , где каждое значение действительно может представлять собой int , double или string (все они были преобразованы в строки во время процесса импорта из внешнего источника данных). Мне нужно проверить и посмотреть, какой тип на самом деле имеет каждое значение.
Что более эффективно для применения (или нет никакой практической разницы)?
- Попробуйте преобразовать его в
int(а затем вdouble). Если преобразование работает, то возвратtrue. Если возникает исключение, вернитеfalse. - Регулярные выражения, предназначенные для соответствия шаблону
intилиdouble - Какой-то другой метод?
Приведение: (NewType) против объекта как NewType
Возможный Дубликат:
Приведение против использования ключевого слова 'as' в CLR
Возможный Дубликат:
Приведение против использования ключевого слова 'as' в CLR
В чем же на самом деле разница между этими двумя слепками?
SomeClass sc = (SomeClass)SomeObject;
SomeClass sc2 = SomeObject as SomeClass;
Как правило, они оба должны быть явными приведениями к указанному типу?
Приведение: (NewType) против объекта как NewType
Возможный Дубликат:
Приведение против использования ключевого слова 'as' в CLR
Возможный Дубликат:
Приведение против использования ключевого слова 'as' в CLR
В чем же на самом деле разница между этими двумя слепками?
SomeClass sc = (SomeClass)SomeObject;
SomeClass sc2 = SomeObject as SomeClass;
Как правило, они оба должны быть явными приведениями к указанному типу?
Visual Studio " не удалось запустить отладку на веб-сервере. Веб-сервер не ответил своевременно."
Я получаю следующую ошибку довольно регулярно при компиляции в Visual Studio и запуске моего веб-приложения:
"Не удалось запустить отладку на веб-сервере. Веб-сервер не ответил своевременно. Это может быть связано с тем, что другой отладчик уже подключен к веб-серверу."
Обычно это происходит после того, как вы уже отладили приложение один раз. Из командной строки я запускаю "iisreset /restart"", и это устраняет проблему.
Как я могу предотвратить это в первую очередь?
Инструменты/стратегия обфускации .NET
Мой продукт состоит из нескольких компонентов: ASP.NET, Windows Forms App и Windows Service. 95% или около того кода написано в VB.NET.
По соображениям интеллектуальной собственности мне нужно запутать код, и до сих пор я использовал версию dotfuscator, которой уже более 5 лет. Я думаю, что пришло время перейти к инструменту нового поколения. То, что я ищу, - это список требований, которые я должен учитывать при поиске нового обфускатора.
То что я знаю я должен искать до сих пор:
- Serialization/De-serialization . В моем текущем решении я просто говорю инструменту не запутывать никакие члены данных класса, потому что боль от невозможности загрузить данные, которые были ранее сериализованы, просто слишком велика.
- Интеграция с процессом сборки
- Работа с ASP.NET . В прошлом я находил это проблематичным из - за изменения имен .dll (у вас часто есть по одному на страницу), с которыми не все инструменты справляются хорошо.
Каковы эффективные варианты встраивания видео в веб-сайт ASP.NET?
Быстрый взгляд на современный интернет, казалось бы, указывает на то, что Adobe Flash является очевидным выбором для встраивания видео в веб-страницу. Является ли это точным, или это другие эффективные варианты? Влияет ли выбор ASP.NET в качестве платформы на это решение?
Лучше ли создавать классы моделей или придерживаться общего класса утилиты базы данных?
У нас есть простой служебный класс в доме для наших вызовов базы данных (легкая оболочка вокруг ADO.NET), но я думаю о создании классов для каждого database/object. было бы разумно сделать это, или это только выиграло бы, если бы мы использовали полную структуру MVC для ASP.NET?
Итак, у нас есть это:
SQLWrapper.GetRecordset(connstr-alias, sql-statement, parameters);
SQLWrapper.GetDataset(connstr-alias, sql-statement, parameters);
SQLWrapper.Execute(connstr-alias, sql-statement, parameters);
Думая о том, чтобы сделать это:
Person p = Person.get(id);
p.fname = "jon";
p.lname = "smith";
p.Save();
или для нового рекорда -
Person p = new Person();
p.fname = "Jon";
p.lname = "Smith";
p.Save();
p.Delete();
Будет ли это умно, или это будет перебор? Я вижу выгоду для повторного использования, изменения базы данных и maintenance/readability.
Установка объектов на Null/Nothing после использования in .NET
Следует ли вам установить все объекты в null (Nothing в VB.NET), как только вы закончите с ними?
Я понимаю, что в .NET необходимо избавиться от любых экземпляров объектов, реализующих интерфейс IDisposable , чтобы освободить некоторые ресурсы, хотя объект все еще может быть чем-то после его удаления (отсюда свойство isDisposed в формах), поэтому я предполагаю, что он все еще может находиться в памяти или, по крайней мере, частично?
Я также знаю, что когда объект выходит из области видимости, он помечается для сбора, готового к следующему проходу сборщика мусора (хотя это может занять некоторое время).
Таким образом, имея это в виду, будет ли установка его в null ускорить систему освобождения памяти, как это не должно работать, что он больше не находится в области и есть ли какие-либо плохие побочные эффекты?
MSDN статьи НИКОГДА не делают этого в примерах, и в настоящее время я делаю это так, как не могу видишь, какой вред. Однако я столкнулся со смешением мнений, поэтому любые комментарии полезны.
Чтение структуры данных C/C++ в C# из байтового массива
Как лучше всего заполнить структуру C# из массива byte[], где данные были получены из структуры C/C++? Структура C будет выглядеть примерно так (мой C очень ржавый):
typedef OldStuff {
CHAR Name[8];
UInt32 User;
CHAR Location[8];
UInt32 TimeStamp;
UInt32 Sequence;
CHAR Tracking[16];
CHAR Filler[12];
}
И наполнил бы что-то вроде этого:
[StructLayout(LayoutKind.Explicit, Size = 56, Pack = 1)]
public struct NewStuff
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]
[FieldOffset(0)]
public string Name;
[MarshalAs(UnmanagedType.U4)]
[FieldOffset(8)]
public uint User;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]
[FieldOffset(12)]
public string Location;
[MarshalAs(UnmanagedType.U4)]
[FieldOffset(20)]
public uint TimeStamp;
[MarshalAs(UnmanagedType.U4)]
[FieldOffset(24)]
public uint Sequence;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
[FieldOffset(28)]
public string Tracking;
}
Что является лучшим способом, чтобы скопировать OldStuff до NewStuff , OldStuff , если передается массив byte[]?
В настоящее время я делаю что-то вроде следующего, но это кажется немного неуклюжим.
GCHandle handle;
NewStuff MyStuff;
int BufferSize = Marshal.SizeOf(typeof(NewStuff));
byte[] buff = new byte[BufferSize];
Array.Copy(SomeByteArray, 0, buff, 0, BufferSize);
handle = GCHandle.Alloc(buff, GCHandleType.Pinned);
MyStuff = (NewStuff)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(NewStuff));
handle.Free();
Есть ли лучший способ сделать это?
Может ли использование класса BinaryReader обеспечить какой-либо прирост производительности по сравнению с закреплением памяти и использованием Marshal.PtrStructure ?
Возможно "spin off" несколько GUI потоков? (Не останавливая систему на Application.Run)
Моя Цель
Я хотел бы иметь основной поток обработки (не GUI) и иметь возможность выделять GUIs в своих собственных фоновых потоках по мере необходимости, а мой основной поток не GUI продолжает работать. Другими словами, Я хочу, чтобы мой основной не GUI-поток был владельцем GUI-потока, а не наоборот. Я не уверен, что это возможно даже с формами Windows (?)
Фон
У меня есть система на основе компонентов, в которой контроллер динамически загружает сборки и создает экземпляры и запускает классы, реализующие общий интерфейс IComponent с одним методом DoStuff() .
Какие компоненты, которые загружаются, настраиваются с помощью файла конфигурации xml и путем добавления новых сборок, содержащих различные реализации IComponent . Компоненты предоставляют служебные функции главному приложению. В то время как основная программа делает это вещь, например управляя ядерной установкой, компоненты могут выполнять служебные задачи (в своих собственных потоках), например, очищать базу данных, отправлять электронные письма, печатать смешные шутки на принтере, что у вас есть. Я бы хотел, чтобы один из этих компонентов мог отображать GUI, например, с информацией о состоянии для указанного компонента отправки email.
Время жизни всей системы выглядит следующим образом
- Запуск приложения.
- Проверьте файл конфигурации для загрузки компонентов. Загружать их.
- Для каждого компонента запустите
DoStuff(), чтобы инициализировать его и заставить его жить своей собственной жизнью в своих собственных потоках. - Продолжать делать основное применение-штука царем работать, навсегда.
Я еще не смог успешно выполнить пункт 3, если компонент запускает GUI в DoStuff() . Он просто останавливается, пока GUI не будет закрыт. И только после закрытия GUI программа переходит к пункту 4.
Было бы здорово, если бы этим компонентам было разрешено запускать свои собственные формы Windows GUIs.
Проблема
Когда компонент пытается запустить GUI в DoStuff() (точная строка кода - это когда компонент запускает Application.Run(theForm)), компонент и, следовательно, наша система "hangs" в строке Application.Run() , пока GUI не будет закрыт. Ну, только что загорелся GUI работает нормально, как и ожидалось.
Пример компонентов. Один не имеет ничего общего с GUI, в то время как второй запускает симпатичный windows с розовыми пушистыми кроликами в них.
public class MyComponent1: IComponent
{
public string DoStuff(...) { // write something to the database }
}
public class MyComponent2: IComponent
{
public void DoStuff()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form());
// I want the thread to immediately return after the GUI
// is fired up, so that my main thread can continue to work.
}
}
Я пробовал это без удачи. Даже когда я пытаюсь запустить GUI в своем собственном потоке, выполнение останавливается до тех пор, пока GUI не будет закрыт.
public void DoStuff()
{
new Thread(ThreadedInitialize).Start()
}
private void ThreadedInitialize()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form());
}
Можно ли открутить GUI и вернуться после Application.Run() ?
Как сделать элемент управления похожим на ComboBox с включенными визуальными стилями?
У меня есть элемент управления, который моделируется на ComboBox . Я хочу сделать контроль таким образом, чтобы граница контроля выглядела как стандартная Windows ComboBox . В частности, я следовал документации MSDN, и все рендеринг элемента управления является правильным, за исключением рендеринга, когда элемент управления отключен.
Просто чтобы быть ясным, это для системы с включенными визуальными стилями . Кроме того, все части элемента управления отображаются правильно, за исключением границы вокруг отключенного элемента управления, которая не соответствует отключенному цвету границы ComboBox .
Я использую класс VisualStyleRenderer . MSDN предлагает использовать элемент VisualStyleElement.TextBox для части TextBox элемента управления ComboBox , но стандартный отключенный TextBox и стандартный отключенный ComboBox рисуют несколько иначе (один имеет светло-серую границу, другой-светло-синюю границу).
Как я могу получить правильный рендеринг элемента управления в отключенном состоянии?
Где я могу получить приложение Windows Workflow "wca.exe"?
Я прогуливаюсь по книге MS Press Windows Workflow Step-by-Step, и в главе 8 она упоминает инструмент с именем "wca.exe". Предполагается, что это позволит создавать вспомогательные классы связи рабочего процесса на основе предоставленного Вами интерфейса. Я не могу найти этот файл. Я думал, что это будет в последней версии .NET 3.5 SDK, но я только что скачал и полностью установил, и его там нет. Кроме того, в некоторых сообщениях на форуме MSDN были размещены ссылки, которые просто идут на 404s. так где же я могу найти wca.exe?
Можно ли настроить Visual Studio NOT для изменения проекта StartUp каждый раз, когда я открываю файл из одного из проектов?
Предположим, что существует решение, содержащее два проекта (Project1 и Project2).
Project1 устанавливается как проект StartUp (его название отображается жирным шрифтом). Я дважды щелкаю по какому-то файлу в Project2, чтобы открыть его. Файл открывается, но происходит и кое - что еще-Project2 устанавливается как проект StartUp.
Я попытался найти опцию в конфигурации, чтобы изменить ее, но не нашел ни одной.
Может ли эта функция (хотя для меня она больше похожа на ошибку) быть отключена?
MAPI и опыт работы с управляемым кодом?
Использование функций MAPI из управляемого кода официально не поддерживается. По-видимому, MAPI использует свое собственное управление памятью, и он аварийно завершает работу и сгорает в управляемом коде (см. здесь и здесь )
Все, что я хочу сделать, это запустить почтовый клиент по умолчанию с темой, телом, AND одним или несколькими вложениями .
Итак, я изучил MAPISendDocuments , и это, кажется, работает. Но мне так и не удалось набраться смелости, чтобы действительно использовать эту функцию в производственном коде.
Кто-нибудь часто пользовался этой функцией? У вас есть какие-нибудь страшилки?
PS. Нет, я не буду shellExecute Outlook.exe с аргументами командной строки для вложений.
PPS. Поддержка вложений -это требование , поэтому Mailto: решения не сокращают его для меня.
Как я могу создать прототипные методы (например, JavaScript) в C#.Net?
Как можно сделать прототипные методы в C#.Net?
В JavaScript я могу сделать следующее, чтобы создать метод обрезки для объекта string:
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g,"");
}
Как я могу сделать это в C#.Net?
Обновление до ASP.NET 3.x
В настоящее время я знаю, что ASP.NET 2.0 отсутствует и что есть 3.x версии фреймворка .Net.
Можно ли обновить мой веб-сервер ASP.NET до версии 3.x платформы .Net?
Однако я попробовал это сделать, когда выбирал, какую версию .Net framwork использовать в IIS (вкладка ASP.NET), только версии 1.1 и 2.0 показывают.
Есть ли работа вокруг?
Должны ли папки в решении соответствовать пространству имен?
Должны ли папки в решении соответствовать пространству имен?
В одном из моих командных проектов у нас есть библиотека классов, которая имеет много вложенных папок в проекте.
Имя проекта и пространство имен: MyCompany.Project.Section .
В этом проекте есть несколько папок, которые соответствуют разделу пространства имен:
- Папка
Vehiclesимеет классы в пространстве именMyCompany.Project.Section.Vehicles - Папка
Clothingимеет классы в пространстве именMyCompany.Project.Section.Clothing - и т.д.
Внутри этого же проекта находится еще одна папка rogue
- Папка
BusinessObjectsимеет классы в пространстве именMyCompany.Project.Section
Есть несколько таких случаев, когда папки создаются для "organizational convenience".
Мой вопрос таков: каков стандарт? В библиотеках классов папки обычно соответствуют структуре пространства имен или это смешанный пакет?
Использование ConfigurationManager для загрузки конфигурации из произвольного расположения
Я разрабатываю компонент доступа к данным, который будет использоваться на веб-сайте, содержащем смесь классических страниц ASP и ASP.NET, и мне нужен хороший способ управления его настройками конфигурации.
Я хотел бы использовать пользовательский ConfigurationSection, и для страниц ASP.NET это отлично работает. Но когда компонент вызывается через COM interop с классической страницы ASP, он не работает в контексте запроса ASP.NET и поэтому не имеет никакого представления о web.config.
Есть ли способ сказать ConfigurationManager , чтобы просто загрузить конфигурацию из произвольного пути (например, ..\web.config , если мой assembly находится в папке /bin )? Если есть, то я думаю, что мой компонент может вернуться к этому, если по умолчанию ConfigurationManager.GetSection возвращает null для моего пользовательского раздела.
Любые другие подходы к этому были бы приветствованы!
Как разрешить доменное имя в адрес IP с помощью .NET/C#?
Как разрешить доменное имя в адрес IP с помощью .NET/C#?
Должен ли я использовать имя пользователя или ID пользователя для ссылки на аутентифицированных пользователей в ASP.NET
Поэтому в моем простом учебном веб-сайте я использую встроенную систему аутентификации ASP.NET.
Теперь я добавляю таблицу пользователей, чтобы сохранить такие вещи, как его zip, DOB и т. д. Мой вопрос таков:
- В новой таблице ключом должно быть имя пользователя (строка) или пользователь ID, который является тем номером GUID, который они используют в
asp_ tables. - Если лучше всего использовать этот уродливый guid, кто-нибудь знает, как его получить? похоже, он не так легко доступен, как имя (
System.Web.HttpContext.Current.User.Identity.Name) - Если вы предлагаете мне не использовать ни один из них (ни guid, ни поля userName, предоставляемые ASP.NET authentication), то как это сделать с ASP.NET authentication? Один из вариантов, который мне нравится, - это использовать адрес email пользователя в качестве логина, но как сделать так, чтобы система аутентификации ASP.NET использовала адрес email вместо имени пользователя? (или там нечего делать, это просто я решил, что я "know" userName на самом деле адрес email?
Пожалуйста, обратите внимание:
- Я не спрашиваю о том, как получить GUID в .NET, я просто ссылаюсь на столбец userID в
asp_ tablesкак guid. - Имя пользователя является уникальным при проверке подлинности ASP.NET.
Как сделать так, чтобы символ button выглядел так, как будто он нажат?
Используя VS2008, C#, .Net 2 и Winforms как я могу сделать обычный Button вид "pressed"?
Представьте себе, что этот button-это переключатель включения/выключения.
ToolStripButton имеет свойство Checked, а обычный Button-нет.
Как ссылаться на несколько версий assembly
Я разрабатываю приложение Sharepoint и использую библиотеку .NET AjaxControlToolkit, мы добавляем пользовательскую страницу aspx в Sharepoint. Sharepoint 2007 работает в режиме причуд, поэтому я внес некоторые изменения в библиотеку AJAX, чтобы заставить ее вести себя так, как она обычно должна. Проблема в том, что другая команда уже использует библиотеку AJAX, и это другая версия с моей. Это вызывает конфликт, потому что в папке bin может быть только один dll с тем же именем.
Из того, что я знаю,.NET должен быть в состоянии справиться с этой ситуацией легко. Я попытался использовать строгое имя и GAC, чтобы решить эту проблему, но он по-прежнему ссылается на dll в папке bin. Если в папке bin нет AjaxControlToolkit.dll, приложение просто не сможет загрузить assembly.
Если я использую полную информацию assembly на моем, как это
<%@
Register
tagprefix="AjaxControlToolkit"
namespace="AjaxControlToolkit"
assembly="AjaxControlToolkit, Version=1.0.299.18064,
PublicKeyToken=12345678abcdefgh,
Culture=neutral"
%>
Это дает мне ошибку компилятора CS0433
Может ли кто-нибудь помочь мне в том, как использовать несколько версий assembly в приложении?
.Чистая скорость удаленного доступа и виртуальных частных сетей
Я работаю над проектом, который использует .NET Remoting для связи между клиентским приложением и сервером объектов. Для разработки клиент, сервер и база данных MSSQL работают на моем локальном компьютере разработки.
Когда я работаю в офисе, отзывчивость просто прекрасна.
Однако, когда я работаю из дома, скорость значительно ниже. Если я отключаюсь от VPN, он ускоряется (я верю, но, возможно, это просто принятие желаемого за действительное). Если я полностью отключаю свое беспроводное соединение, оно немедленно разгоняется до полной скорости.
Я предполагаю, что удаленный трафик направляется через какую-то точку, которая замедляет все, хотя мой домашний маршрутизатор и/или VPN.
Есть ли у кого-нибудь идеи о том, как заставить удаленный трафик оставаться полностью локализованным?
Уменьшить размер элемента управления меню ASP.NET (без сторонних библиотек)
У меня есть довольно простое управление меню ASP.NET 2.0 с использованием файла sitemap и обрезки безопасности. Есть только 21 вариант меню, но результаты HTML меню-это колоссальные 14k. сайт размещен в интрасети нашей компании и должен быть сервером для людей по всему миру с ограниченной пропускной способностью, поэтому я хотел бы уменьшить размер меню.
Каков наилучший способ сделать это? У кого-нибудь есть хорошая рекомендация? У меня есть следующие ограничения:
- Решение не должно ссылаться на какие-либо файлы 3-й части DLL (получение одобрения было бы кошмаром)
- Приходится работать с IE 6
CSS и JavaScript в порядке, пока они работают с IE 6.
Версия ASP.NET от Joomla
Кто-нибудь когда-нибудь находил/использовал приложение ASP.NET, подобное Joomla?
Мне нужно настроить быстрый и грязный CMS на сервере Windows, и наш клиент не хочет, чтобы мы использовали что-то другое, кроме ASP.NET.
.Чистая скорость удаленного доступа и виртуальных частных сетей
Я работаю над проектом, который использует .NET Remoting для связи между клиентским приложением и сервером объектов. Для разработки клиент, сервер и база данных MSSQL работают на моем локальном компьютере разработки.
Когда я работаю в офисе, отзывчивость просто прекрасна.
Однако, когда я работаю из дома, скорость значительно ниже. Если я отключаюсь от VPN, он ускоряется (я верю, но, возможно, это просто принятие желаемого за действительное). Если я полностью отключаю свое беспроводное соединение, оно немедленно разгоняется до полной скорости.
Я предполагаю, что удаленный трафик направляется через какую-то точку, которая замедляет все, хотя мой домашний маршрутизатор и/или VPN.
Есть ли у кого-нибудь идеи о том, как заставить удаленный трафик оставаться полностью локализованным?
Уменьшить размер элемента управления меню ASP.NET (без сторонних библиотек)
У меня есть довольно простое управление меню ASP.NET 2.0 с использованием файла sitemap и обрезки безопасности. Есть только 21 вариант меню, но результаты HTML меню-это колоссальные 14k. сайт размещен в интрасети нашей компании и должен быть сервером для людей по всему миру с ограниченной пропускной способностью, поэтому я хотел бы уменьшить размер меню.
Каков наилучший способ сделать это? У кого-нибудь есть хорошая рекомендация? У меня есть следующие ограничения:
- Решение не должно ссылаться на какие-либо файлы 3-й части DLL (получение одобрения было бы кошмаром)
- Приходится работать с IE 6
CSS и JavaScript в порядке, пока они работают с IE 6.
Версия ASP.NET от Joomla
Кто-нибудь когда-нибудь находил/использовал приложение ASP.NET, подобное Joomla?
Мне нужно настроить быстрый и грязный CMS на сервере Windows, и наш клиент не хочет, чтобы мы использовали что-то другое, кроме ASP.NET.
Как настроить переключатель CSS
Я работаю над сайтом, который будет переключаться на новый стиль на определенную дату. Сайт построен в семантических HTML и CSS, поэтому изменение должно просто потребовать изменения ссылки CSS. Я работаю с дизайнером, которому нужно будет видеть, как он выглядит, а также с клиентом, которому нужно будет просматривать обновления контента в текущем виде, а также прогресс дизайна в новом виде.
Я планирую использовать значение magic querystring и / или ссылку javascript в нижнем колонтитуле, которая записывает cookie для выбора новой страницы CSS. Мы работаем в ASP.NET 3.5. Есть рекомендации?
Я должен упомянуть, что мы используем условные комментарии IE для поддержки IE8, 7 и 6. Я могу создать функцию, которая выполняет замену:
<link href="Style/<% GetCssRoot() %>.css" rel="stylesheet" type="text/css" />
<!--[if lte IE 8]>
<link type="text/css" href="Style/<% GetCssRoot() %>-ie8.css" rel="stylesheet" />
<![endif]-->
<!--[if lte IE 7]>
<link type="text/css" href="Style/<% GetCssRoot() %>-ie7.css" rel="stylesheet" />
<![endif]-->
<!--[if lte IE 6]>
<link type="text/css" href="Style/<% GetCssRoot() %>-ie6.css" rel="stylesheet" />
<![endif]-->
Как я могу опубликовать и затем перенаправить на внешний URL из ASP.Net?
ASP.NET серверные элементы управления обратной связью на свою собственную страницу. Это приводит к тому, что вы хотите перенаправить пользователя на внешнюю страницу, но по какой-то причине (например, для аутентификации) должны разместить на этой странице сообщение.
HttpWebRequest отлично работает, если вы не хотите перенаправлять, а JavaScript в некоторых случаях подходит, но может стать сложным, если вам действительно нужен код на стороне сервера,чтобы собрать данные для публикации.
Так как же вы одновременно отправляете сообщение на внешний URL и перенаправляете пользователя на результат из вашего кода ASP.NET codebehind?
Когда использовать метод расширения с lambda над LINQtoObjects для фильтрации коллекции?
Я прототипирую некоторые фильтры коллекции C# 3 и наткнулся на это. У меня есть коллекция продуктов:
public class MyProduct
{
public string Name { get; set; }
public Double Price { get; set; }
public string Description { get; set; }
}
var MyProducts = new List<MyProduct>
{
new MyProduct
{
Name = "Surfboard",
Price = 144.99,
Description = "Most important thing you will ever own."
},
new MyProduct
{
Name = "Leash",
Price = 29.28,
Description = "Keep important things close to you."
}
,
new MyProduct
{
Name = "Sun Screen",
Price = 15.88,
Description = "1000 SPF! Who Could ask for more?"
}
};
Теперь, если я использую LINQ для фильтрации, он работает, как и ожидалось:
var d = (from mp in MyProducts
where mp.Price < 50d
select mp);
И если я использую метод расширения Where в сочетании с Lambda, фильтр также работает:
var f = MyProducts.Where(mp => mp.Price < 50d).ToList();
Вопрос: в чем разница, и зачем использовать одно над другим?
Каков наилучший способ обернуть время вокруг рабочего дня?
У меня есть ситуация, когда я хочу добавить часы к дате и иметь новую дату вокруг рабочего дня. Я придумал функцию, чтобы определить эту новую дату, но хочу убедиться, что я ничего не забыл.
Часы, чтобы быть добавлены называют "delay". Вместо этого он может легко быть параметром функции.
Пожалуйста, разместите любые предложения. [VB.NET предупреждение]
Private Function GetDateRequired() As Date
''// A decimal representation of the current hour
Dim hours As Decimal = Decimal.Parse(Date.Now.Hour) + (Decimal.Parse(Date.Now.Minute) / 60.0)
Dim delay As Decimal = 3.0 ''// delay in hours
Dim endOfDay As Decimal = 12.0 + 5.0 ''// end of day, in hours
Dim startOfDay As Decimal = 8.0 ''// start of day, in hours
Dim newHour As Integer
Dim newMinute As Integer
Dim dateRequired As Date = Now
Dim delta As Decimal = hours + delay
''// Wrap around to the next day, if necessary
If delta > endOfDay Then
delta = delta - endOfDay
dateRequired = dateRequired.AddDays(1)
newHour = Integer.Parse(Decimal.Truncate(delta))
newMinute = Integer.Parse(Decimal.Truncate((delta - newHour) * 60))
newHour = startOfDay + newHour
Else
newHour = Integer.Parse(Decimal.Truncate(delta))
newMinute = Integer.Parse(Decimal.Truncate((delta - newHour) * 60))
End If
dateRequired = New Date(dateRequired.Year, dateRequired.Month, dateRequired.Day, newHour, newMinute, 0)
Return dateRequired
End Sub
Примечание: это, вероятно,не будет работать, если задержка составляет более 9 часов. Он никогда не должен меняться от 3, до конца.
EDIT: Цель состоит в том, чтобы найти дату и время, которые вы получите в результате добавления нескольких часов к текущему времени. Это используется для определения значения по умолчанию для даты выполнения отправки. Я хочу добавить 3 часа к текущему времени, чтобы получить срок выполнения. Однако я не хочу, чтобы сроки выполнения выходили за пределы 5 вечера в текущий день. Итак, я попытался разделить часы между (сегодня, до 5 вечера) и (завтра, с 8 утра), так что добавление 3 часов к 4 вечера даст вам 19 утра, потому что 1 час добавляется к концу сегодняшнего дня и 2 часа добавляются к началу завтрашнего дня.
Как сохранить древовидную структуру в таблице базы данных с автоматическим увеличением IDs с помощью ADO.NET DataSet и DataAdapter
У меня есть самореферентная таблица ролей, которая представляет собой древовидную структуру
ID [INT] AUTO INCREMENT
Name [VARCHAR]
ParentID [INT]
Я использую ADO.NET DataTable и DataAdapter для загрузки и сохранения значений в эту таблицу. Это работает, если я создаю только дочерние элементы существующих строк. Если я создаю дочернюю строку, а затем создаю дочерний элемент этого ребенка, а затем обновляю, временное значение ID, сгенерированное DataTable, переходит в столбец ParentID. У меня есть следующий набор отношений данных:
dataset.Relations.Add(New DataRelation("RoleToRole",RoleTable.Columns("ID"), RoleTable.Columns("ParentID")))
И когда я создаю новые дочерние строки в DataTable, я вызываю метод SetParentRow
newRow.SetParentRow(parentRow)
Есть ли что-то особенное, что я должен сделать, чтобы заставить поколение ID распространяться рекурсивно, когда я вызываю Update на DataAdapter?
Как указать javascript для запуска при отображении ModalPopupExtender
У ASP.NET AJAX ModalPopupExtender есть свойства OnCancelScript и OnOkScript , но у него, похоже, нет свойства OnShowScript . Я бы хотел указать функцию javascript для запуска при каждом появлении всплывающего окна.
В прошлых ситуациях я устанавливал TargetControlID на фиктивный элемент управления и предоставлял свой собственный элемент управления, который сначала выполняет некоторый код JS, а затем использует методы JS для отображения всплывающего окна. Но в этом случае я показываю всплывающее окно как из клиентского, так и из серверного кода.
Кто-нибудь знает способ сделать это?
BTW, мне это было нужно, потому что у меня есть textbox в модале, который я хочу сделать редактором TinyMCE. Но сценарий TinyMCE init не работает с невидимыми текстовыми полями, поэтому мне пришлось найти способ запустить его в то время, когда модальный был показан
В ASP.NET MVC я сталкиваюсь с ошибкой неправильного типа при отображении пользовательского элемента управления с правильным типизированным объектом
Я сталкиваюсь с ошибкой формы: "элемент модели, переданный в словарь, имеет тип FooViewData, но этот словарь требует элемента модели типа bar", хотя я передаю объект правильного типа (bar) для типизированного пользовательского элемента управления.
.NET: как найти путь к рабочему столу, когда перенаправление папок включено?
Я использую
Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
чтобы получить путь к рабочему столу пользователя для возрастов теперь, но так как мы изменили нашу настройку здесь на работе, поэтому мы используем перенаправление папок для отображения папок рабочего стола наших пользователей и Моих документов на сервер, он больше не работает. Он по-прежнему указывает на папку рабочего стола в C:\Documents и настройках , которая не находится там, где живет мой рабочий стол.
Есть идеи, как это исправить?
Ожоги
Лучший макет фреймворка, который может делать как WebForms, так и MVC?
Я получаю больше рабочего процесса TDD и имею сочетание приложений MVC и asp.net Web Forms.
MOQ рекомендуется для MVC.
Я использовал Rhino для веб-форм.
У кого-нибудь есть лучшая практика для того, чтобы иметь макет 1 framework для обоих?
Как вернуть страницу результатов из SQL?
Многие приложения имеют сетки, которые отображают данные из таблицы базы данных по одной странице за раз. Многие из них также позволяют пользователю выбирать количество записей на странице, Сортировать по любому столбцу и перемещаться по результатам.
Что такое хороший алгоритм для реализации этого шаблона без приведения всей таблицы к клиенту и последующей фильтрации данных на клиенте. Как вы приносите только те записи, которые хотите показать пользователю?
Разве LINQ упрощает решение?
Лучшая Практика Многопоточного Проектирования
Рассмотрим эту проблему: у меня есть программа, которая должна получить (скажем) 100 записей из базы данных, а затем для каждой из них она должна получить обновленную информацию из веб-службы. Есть два способа ввести параллелизм в этом сценарии:
Я запускаю каждый запрос к веб-службе в новом потоке. Количество одновременных потоков контролируется каким-то внешним параметром (или динамически настраивается каким-то образом).
Я создаю меньшие партии (скажем, по 10 записей в каждой) и запускаю каждую партию в отдельном потоке (так что возьмем наш пример, 10 потоков).
Какой подход лучше, и почему вы так думаете?
Каковы полезные новые функции ASP.NET в .NET Framework 3.5?
Я постоянно обновлял новые функции в языке C#, поскольку он перешел с версии 1 на версию 3. Я не очень хорошо справлялся с тем, чтобы быть в курсе событий с ASP.NET. Я чувствую, что некоторые функции post version 1 не так хороши (например, фреймворк AJAX) или просто не так полезны для меня (например, фреймворк членства). Может ли кто-нибудь порекомендовать какие-либо новые функции killer ASP.NET, которые могли бы остаться незамеченными?
Когда я не должен использовать ThreadPool в .Net?
Когда я не должен использовать ThreadPool в .Net?
Похоже, что лучшим вариантом является использование ThreadPool, и в этом случае, почему это не единственный вариант?
Что вы испытываете по этому поводу?
Проверка данных разнесенной формы в структуре ASP.NET MVC
Я играл с фреймворком ASP.NET MVC, и одна вещь, которая действительно сбивает меня с толку, - это то, как я должен выполнять проверку данных опубликованных форм на стороне сервера. Я предполагаю, что не отправлю сообщение обратно в тот же URL, но если это не так, как я могу повторно отобразить форму с введенными данными и сообщениями об ошибках? Кроме того, куда должна идти логика проверки? В модели или контроллере? Это, по-видимому, одна из немногих областей, где веб-формы намного сильнее (мне не хватает средств проверки).
ASP.NET кэширование
Недавно я исследовал возможности кэширования в ASP.NET.
Я свернул свой собственный "Cache", потому что я не знал ничего лучше, это выглядело немного так:
public class DataManager
{
private static DataManager s_instance;
public static DataManager GetInstance()
{
}
private Data[] m_myData;
private DataTime m_cacheTime;
public Data[] GetData()
{
TimeSpan span = DateTime.Now.Substract(m_cacheTime);
if(span.TotalSeconds > 10)
{
// Do SQL to get data
m_myData = data;
m_cacheTime = DateTime.Now;
return m_myData;
}
else
{
return m_myData;
}
}
}
Таким образом, значения хранятся некоторое время в singleton, и когда время истекает, значения обновляются. Если время не истекло, и запрос на данные выполнен, то будут возвращены сохраненные значения в поле.
Каковы преимущества использования реального метода (http://msdn.microsoft.com/en-us/library/aa478965.aspx ) вместо этого?
Как создать экземпляр рабочего процесса, надежно основанный на внешнем событии?
немного новичок в работе windows, так что идите легко :)
Я хочу создать среду хоста рабочего процесса, которая имеет высокую доступность-минимум 2 WF хостов времени выполнения на отдельном оборудовании, указывающих на одну и ту же базу данных Persistence или tracking SQL.
Я ищу шаблон, с помощью которого я могу асинхронно создавать новые экземпляры рабочего процесса на основе некоторого внешнего события (т. е. некоторая часть данных обновляется в DB другим приложением). Для каждого события мне нужно создать ровно один экземпляр рабочего процесса и не имеет значения, на каком хосте этот экземпляр создан. Существует также некоторая гибкость в отношении продолжительности времени между событием и фактическим созданием экземпляра рабочего процесса.
Одним из решений, которое я рассматриваю, является наличие интерфейса WCF на хостах WF и размещение их за каким-то балансировщиком нагрузки. Это было бы тогда до любой части системы, которая запускает "event", чтобы сделать вызов WCF.
Я не очень доволен этим, потому что если хосты both\all WF не работают или иным образом недоступны, событие может быть "lost". Кроме того, я не смогу управлять нагрузкой так, как мне бы хотелось. Я представляю себе ситуацию, когда за небольшой промежуток времени может произойти много событий, но совершенно допустимо обрабатывать эти события некоторое время спустя.
Поэтому я считаю, что мне нужно каким-то образом сохранить события и отделить создание событий от обработки событий.
Помещает ли эти события в MSMQ или простую таблицу событий на сервере SQL, а хост WF просто периодически опрашивает очередь, является жизнеспособным решением? Опрос, кажется, такое грязное слово, хотя...
Будет ли полезен NServiceBus и прочный обмен сообщениями здесь?
Любые идеи будут высоко оценены.
Дополнение
База данных будет кластеризована с общим хранилищем оптоволоконных каналов. Сеть также будет избыточной. Для того, чтобы экземпляры среды выполнения WF имели отказоустойчивость, они должны указывать на общую службу персистентности, которая в данном случае является серверной частью SQL. Это высокая доступность, а не полная доступность :)
MSDN статья о надежности и высокой доступности WF
Кроме того, каждый экземпляр среды выполнения WF должен иметь точно такие же биты, поэтому для обновления потребуется удалить их все одновременно. Мне нравится идея сделать это, если потребуется, не разрушая всю систему.
Условные Запросы Linq
Мы работаем над средством просмотра журналов. Использование будет иметь возможность фильтровать по пользователю, серьезности и т.д. В Sql дней я бы добавил к строке запроса, но я хочу сделать это с Linq. Как я могу условно добавить, где предложения?
.Чистая рамки зависимостей
При разработке настольного приложения в .NET, возможно ли не требовать .NET Framework? Является ли разработка программного обеспечения в .NET предпочтительным способом разработки настольных приложений? Какой язык программирования наиболее часто используется компаниями-разработчиками программного обеспечения для разработки настольных приложений?
Является ли требование фреймворка .NET просто предполагаемым на основе Windows OS вы установили, следовательно, почему они перечисляют требования к версии Windows OS?
И DefaultEvent ASP.NET UserControl по
Контур
OK, я гуглил это и уже ожидал большой жир NO! ! Но я подумал, что должен спросить, так как я знаю, что иногда могут быть странные маленькие gem знания, скрывающиеся в головах людей ^_^
Я работаю над некоторыми упражнениями в книге для изучения, и это конкретное упражнение-пользовательские элементы управления. Я собрал элемент управления и хотел бы установить для него DefaultEvent (сделав это для предыдущих элементов управления), поэтому, когда я дважды щелкаю по нему, созданное событие по умолчанию-это то, что я указываю.
NOTE: это стандартный пользовательский элемент управления (.ascx), NOT пользовательский визуализированный элемент управления.
текущий код
Вот определение события класса &:
[System.ComponentModel.DefaultEvent("OKClicked")]
public partial class AddressBox : System.Web.UI.UserControl
{
public event EventHandler OKClicked;
текущий результат
Теперь, когда я дважды щелкаю элемент управления, когда он находится на странице ASPX, создается следующее:
protected void AddressBox1_Load(object sender, EventArgs e)
{
}
Не совсем то, что я ожидал! Итак, мой вопрос:
Можно ли определить DefaultEvent для UserControl? Это хак? Если это не поддерживается, почему?
Примечание: как мы помещаем подчеркивания в код? Кажется, я не могу поставить и избежать char?
Автоматически увеличенный номер редакции не отображается в поле о программе
У меня есть небольшое приложение VB.NET, над которым я работаю, используя полную версию Visual Studio 2005. В свойствах публикации проекта у меня есть параметр автоматически увеличивать ревизию с каждой публикацией .
Проблема в том, что это только увеличивает ревизию в установочных файлах. Похоже, что он не обновляет номер версии в окне About (который является универсальным, встроенным шаблоном About Box). Этот номер версии, похоже, исходит от My.Application.Info.Version .
Что я должен использовать вместо этого, чтобы мой автоматически увеличивающийся номер редакции отображался в поле о программе?
Сортировка составной коллекции
Таким образом, WPF не поддерживает стандартное поведение сортировки или фильтрации для представлений CompositeCollections, так что было бы лучше всего решить эту проблему.
Существует две или более коллекций объектов различных типов. Вы хотите объединить их в единую сортируемую и фильтруемую коллекцию (без необходимости вручную выполнять сортировку или фильтр).
Один из рассмотренных мною подходов заключается в создании новой коллекции объектов с несколькими основными свойствами, включая те, по которым я хотел бы отсортировать коллекцию, и экземпляр объекта каждого типа.
class MyCompositeObject
{
enum ObjectType;
DateTime CreatedDate;
string SomeAttribute;
myObjectType1 Obj1;
myObjectType2 Obj2;
{
class MyCompositeObjects : List<MyCompositeObject> { }
А затем пройдите через мои две коллекции объектов, чтобы построить новую составную коллекцию. Очевидно, что это немного грубый метод, но он будет работать. Я получил бы все стандартные функции сортировки и фильтрации представлений в моей новой коллекции составных объектов, и я мог бы поместить в нее шаблон данных для правильного отображения элементов списка в зависимости от того, какой тип фактически хранится в этом составном элементе.
Какие есть предложения, чтобы сделать это более элегантным способом?
Простая анимация в WinForms
Представьте, что вы хотите анимировать какой-то объект на WinForm. Вы настраиваете таймер для обновления состояния или модели и переопределения события рисования формы. Но с этого момента, каков лучший способ постоянно перекрашивать форму для анимации?
- Аннулировать форму, как только вы закончите рисовать?
- Установить второй таймер и аннулировать форму на регулярной основе?
- Может быть, в этом деле есть какая-то общая закономерность?
- Есть ли какие-нибудь полезные классы .NET, чтобы помочь?
Каждый раз, когда мне нужно это сделать, я обнаруживаю новый метод с новым недостатком. Каковы опыт и рекомендации сообщества SO?
Варианты лицензирования с открытым исходным кодом для приложения ASP.NET MVC?
Я работаю над личным проектом в ASP.NET MVC, который планирую сделать открытым исходным кодом. В прошлом у меня было открыто довольно много PHP сценариев и UNIX-основанных материалов. Для них я обычно шел с лицензией стиля BSD/Apache, если только я не включал библиотеку, которая препятствовала этому. На стороне Linux/PHP вещей это обычно означало что-то, что было GPL-ed, таким образом, все еще приводя к довольно четкой договоренности.
Однако для этого проекта я пытаюсь выяснить, какие лицензии вообще можно применить к этому проекту, и не нахожу никакого хорошего ресурса, чтобы ответить на этот вопрос. Я знаю, что единственный "real" ответ на этот вопрос будет связан с адвокатом. Однако, поскольку это не то, что принесет доход, если я собираюсь запустить $1000 в проект, я скорее найму графического дизайнера или эксперта по юзабилити, чтобы получить пропуск в приложении, чем заплачу адвокату.
Этот конкретный проект также использует Subsonic для доступа к базе данных и Argotic для разбора RSS, что еще больше усложняет проблему.
Я знаю, что мне разрешено использовать все эти части и что я могу перераспределить свой проект, который использует их все. Однако то, что у меня осталось, - это путаница в отношении того, что полученный проект может/должен быть лицензирован.
Я, вероятно, могу договориться о своем пути через лабиринт для бит Subsonic и Argotic, потому что они уже находятся под лицензиями с открытым исходным кодом, но я не могу быть единственным, кто пытается выяснить, какую лицензию я могу применить к проекту, который я пишу поверх ASP.NET MVC.
В ответ на комментарии:
Я ни в чем не виноват. Я просто пытаюсь вложить ту же заботу в лицензирование и распространение этого конечного приложения, что и в архитектуру и разработку его. Кроме того, я наблюдал, как разрушаются жизни из-за того, что сегодня не обращал внимания на возможно византийские законы об интеллектуальной собственности в книгах.
И, честно говоря, я действительно получил неприятное письмо в прошлом от адвоката компонента с открытым исходным кодом, который я включил в свой собственный проект с открытым исходным кодом, но использовал лицензию, которой они не были довольны.
К сожалению, "an open-source license" не является более конкретным в юридическом смысле, чем выражение "just use a web programming language and you'll be fine". GPL явно является одной из самых популярных лицензий с открытым исходным кодом, а также одной из немногих, которые, на первый взгляд, не могут быть применены к ASP.NET MVC приложениям. Мне интересно, существует ли существующая лицензия, которая может быть "compiled" с другими лицензиями компонентов, которые я использую, не вызывая юридической ошибки "compiler".
Я не говорю, что ответ прост (это не так). Я задал этот вопрос, потому что искренне заинтересован в ответе, который приходит с точки зрения тщательного изучения вопроса. Когда я впервые опубликовал его, я полностью ожидал, что он останется без ответа в течение длительного времени, потому что это не простой вопрос.
Настраиваемое Диалоговое Окно Проекта Установки Visual Studio
Я создал настраиваемое диалоговое окно для проекта установки Visual Studio с помощью описанных ниже действий здесь
Теперь у меня есть combobox в одном из моих диалогов. Я хочу заполнить combobox списком всех экземпляров сервера SQL, работающих в локальной сети. Это тривиально, чтобы получить список серверов ... но я совершенно не понимаю, как заставить их отображаться в combobox. Я был бы признателен Вам за помощь, и некоторый код также может быть хорошим, поскольку я новичок :).
505   2   20:20, 6th August, 2020
ASP.NET Прокси-Приложение
Позвольте мне попытаться объяснить, что мне нужно. У меня есть сервер, который виден из интернета. Мне нужно создать приложение ASP.NET, которое получает запрос веб-сайта и отправляет его на внутренний сервер, а затем получает ответ и публикует информацию. Для клиента это должно быть абсолютно прозрачно.
По разным причинам я не могу перенаправить порт на внутренний сервер. Что я могу сделать, но не знаю, как - может быть, ответ есть-это создать новый веб-сайт, который будет размещен на другом сервере.
Ускорение работы веб-сайта или приложения ASP.Net
У меня есть Ajax.Net включен ASP.Net 2.0 веб-сайт. Хостинг как для сайта, так и для базы данных находится вне моего контроля, как и схема базы данных. При тестировании на аппаратном обеспечении я действительно контролирую сайт хорошо работает, однако на аппаратном обеспечении клиента есть заметные задержки при перезагрузке или смене страниц.
Что я хотел бы сделать, так это сделать мою заявку как можно более компактной и быстрой, когда я ее доставлю. Одна из идей заключается в том, чтобы установить даты истечения срока действия для всех статических ресурсов сайта, чтобы они не вызывались при загрузке страницы. Под ресурсами я подразумеваю изображения, связанные таблицы стилей и исходные файлы JavaScript. Есть ли простой способ сделать это?
Какие еще существуют способы оптимизации веб-сайта .Net?
UPDATE: Я запустил YSlow на сайте, и области, где я получаю удар сильнее всего, находятся в количестве загружаемых JavaScript и таблиц стилей (23 JS файла и 5 таблиц стилей). Все, кроме одного (основная таблица стилей), были вставлены Ajax.net и Asp. Почему их так много?
Какой список плагинов Resharper like для VS я должен рассмотреть?
Моя лицензия на Whole Tomatoes Visual AssistX истекает, и я не планирую ее продлевать. Я использую его для проверки орфографии, но это все. Возможности рефакторинга были немного разочаровывающими. Прежде чем я просто прыгну в Resharper, хотя каковы ваши мысли о других возможных плагинах?
В чем разница между конечной точкой, сервисом и портом при работе с веб-сервисами?
Я использовал Apache CXF, чтобы представить около десяти классов java в качестве веб-служб.
Я создал клиентов, используя CXF, Axis и .NET.
В Axis и CXF генерируется "Service" или "Locator". От этой услуги вы можете получить "Port". "Port" используется для выполнения отдельных вызовов методов, предоставляемых веб-службой.
В .NET "Service" непосредственно предоставляет вызовы веб-службе.
Может ли кто-нибудь объяснить разницу между портом, службой, локатором и конечной точкой, когда речь заходит о веб-службах?
Ось:
PatientServiceImplServiceLocator locator =
new PatientServiceImplServiceLocator();
PatientService service = locator.getPatientServiceImplPort();
CXF:
PatientServiceImplService locator = new PatientServiceImplService();
PatientService service = locator.getPatientServiceImplPort();
.чистый:
PatientServiceImplService service = new PatientServiceImplService();
Очистка Кэша страниц в ASP.NET
Для моего блога я хочу использовать выходной кэш, чтобы сохранить кэшированную версию пертикулярного поста примерно на 10 минут, и это нормально...
<%@OutputCache Duration="600" VaryByParam="*" %>
Однако, если кто-то публикует комментарий, Я хочу очистить кэш, чтобы страница была обновлена и комментарий был виден.
Как мне это сделать в ASP.Net C#?
Каковы наиболее важные функциональные различия между C# и VB.NET?
Конечно, есть разница в общем синтаксисе, но какие еще критические различия существуют? Есть же какие -то различия, верно?
Настраиваемые префиксы таблиц с помощью .Net OR/M?
В веб-приложениях, таких как wiki, форумах или блогах, часто бывает полезно хранить данные в реляционной базе данных. Поскольку многие хостинг-компании предлагают единую базу данных со своими планами размещения (с дополнительными базами данных, стоящими дополнительно), это очень полезно для ваших пользователей, когда ваши объекты базы данных (таблицы, представления, ограничения и хранимые процедуры) имеют общий префикс. Это типично для приложений, знающих о дефиците базы данных, чтобы иметь жестко закодированный префикс таблицы. Однако я хочу большего. В частности, я хотел бы иметь префикс таблицы, который пользователи могут designate—say в файле web.config (с соответствующим значением по умолчанию, конечно).
Поскольку я ненавижу кодирование операций CRUD вручную, я предпочитаю работать через компетентный OR/M и использовал (и наслаждался) LINQ до SQL, Subsonic и ADO.Net. Однако у меня есть некоторый трэш в новом проекте, когда речь заходит о том, чтобы поместить префикс таблицы в файл пользователя web.config. Существуют ли какие-либо продукты на основе .Net или/M, которые могут элегантно обрабатывать этот сценарий?
Лучшее, что я смог придумать до сих пор,-это использовать LINQ для SQL с внешним файлом сопоставления, который мне нужно было бы обновить каким-то образом на основе пока еще гипотетической настройки web.config.
У кого-нибудь есть лучшее решение? Я попытался сделать это в Entity Framework, но это быстро превратилось в беспорядок. (Из-за моего незнания EF? Возможно.) Как насчет SubSonic? Есть ли у него возможность применить префикс таблицы, кроме того, во время генерации кода?
лучший способ сохранения данных в веб-службе .NET
У меня есть веб-служба, которая запрашивает данные из этого файла json, но я не хочу, чтобы веб-служба каждый раз обращалась к этому файлу. Я думаю, что, возможно, я могу хранить данные где-то еще (возможно, в памяти), чтобы веб-служба могла просто получить данные оттуда в следующий раз, когда она попытается запросить те же самые данные. Я вроде бы понимаю, что нужно сделать, но я просто не знаю, как это сделать на самом деле. Как мы сохраняем данные в веб-сервисе?
Обновление: оба предложения, кэширование и использование статических переменных, выглядят хорошо. Может быть, мне стоит использовать оба варианта, чтобы сначала посмотреть на один, а если его там нет, то использовать второй, если его там тоже нет, тогда я посмотрю на файл json.
Почему плохой пароль вызывает "заполнение недопустимо и не может быть удалено"?
Мне нужно было какое-то простое строковое шифрование, поэтому я написал следующий код (с большим количеством "inspiration" отсюда ):
// create and initialize a crypto algorithm
private static SymmetricAlgorithm getAlgorithm(string password) {
SymmetricAlgorithm algorithm = Rijndael.Create();
Rfc2898DeriveBytes rdb = new Rfc2898DeriveBytes(
password, new byte[] {
0x53,0x6f,0x64,0x69,0x75,0x6d,0x20, // salty goodness
0x43,0x68,0x6c,0x6f,0x72,0x69,0x64,0x65
}
);
algorithm.Padding = PaddingMode.ISO10126;
algorithm.Key = rdb.GetBytes(32);
algorithm.IV = rdb.GetBytes(16);
return algorithm;
}
/*
* encryptString
* provides simple encryption of a string, with a given password
*/
public static string encryptString(string clearText, string password) {
SymmetricAlgorithm algorithm = getAlgorithm(password);
byte[] clearBytes = System.Text.Encoding.Unicode.GetBytes(clearText);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, algorithm.CreateEncryptor(), CryptoStreamMode.Write);
cs.Write(clearBytes, 0, clearBytes.Length);
cs.Close();
return Convert.ToBase64String(ms.ToArray());
}
/*
* decryptString
* provides simple decryption of a string, with a given password
*/
public static string decryptString(string cipherText, string password) {
SymmetricAlgorithm algorithm = getAlgorithm(password);
byte[] cipherBytes = Convert.FromBase64String(cipherText);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, algorithm.CreateDecryptor(), CryptoStreamMode.Write);
cs.Write(cipherBytes, 0, cipherBytes.Length);
cs.Close();
return System.Text.Encoding.Unicode.GetString(ms.ToArray());
}
Код, похоже, работает нормально, за исключением того, что при расшифровке данных с неверным ключом я получаю CryptographicException - "Padding is invalid and cannot be removed" - на строке cs.Close() в decryptString.
пример кода:
string password1 = "password";
string password2 = "letmein";
string startClearText = "The quick brown fox jumps over the lazy dog";
string cipherText = encryptString(startClearText, password1);
string endClearText = decryptString(cipherText, password2); // exception thrown
Мой вопрос в том, можно ли этого ожидать? Я бы подумал, что расшифровка с неверным паролем просто приведет к бессмысленному выходу, а не к исключению.
Просмотреть каталог в C#
Как я могу представить пользователю элемент управления, позволяющий ему выбрать каталог?
Там, кажется, нет никаких собственных элементов управления .net, которые делают это?
Загрузка файлов через веб-службы
Можно ли загрузить файл с компьютера клиента на сервер через веб-службу? Клиент может запускать все, что угодно, от собственного настольного приложения до тонкого клиента ajax.
В.NET, будут ли оптимизированы пустые вызовы методов?
Учитывая пустое тело метода, будет ли JIT оптимизировать вызов (я знаю, что компилятор C# не будет). Как бы мне это выяснить? Какие инструменты я должен использовать и где я должен искать?
Поскольку я уверен, что его спросят, причина пустого метода-директива препроцессора.
@Chris: Имеет смысл,но это может оптимизировать вызовы метода. Таким образом, метод все еще будет существовать, но статические вызовы к нему могут быть удалены (или, по крайней мере, встроены...)
@Jon: Это просто говорит мне, что компилятор языка ничего не делает. Я думаю, что мне нужно сделать, это запустить мой dll через ngen и посмотреть на assembly.
Возврат больших результатов через веб-сервис
В данный момент я работаю над веб-сервисом, и есть вероятность, что возвращаемые результаты могут быть довольно большими ( > 5 Мб).
Вполне допустимо, чтобы этот набор данных был таким большим, и веб-сервис можно назвать либо синхронизацией, либо асинхронностью, но мне интересно, что думают люди о следующем:
Если соединение потеряно, то весь результирующий набор должен быть регенерировали и отправляли снова. Есть любым способом я могу сделать все что угодно "resume" если соединение потеряно или сбросить?
Является ли отправка результирующего набора такого большого размера вообще уместной? Может быть, лучше реализовать какой-то "paging", где результирующий набор генерируется и хранится на сервере, а клиент может затем загружать куски результирующего набора в меньших количествах и повторно собирать набор в их конце?
Как вы олицетворяете пользователя Active Directory в Powershell?
Я пытаюсь запустить powershell команды через веб-интерфейс (ASP.NET/C#) для создания почтовых ящиков/etc на Exchange 2007. Когда я запускаю страницу с помощью Visual Studio (Cassini), страница загружается правильно. Однако, когда я запускаю его на IIS (v5.1), я получаю ошибку "unknown user name or bad password". Самая большая проблема, которую я заметил, заключалась в том, что Powershell был зарегистрирован как ASPNET вместо моей учетной записи Active Directory. Как заставить мой сеанс Powershell пройти проверку подлинности с другой учетной записью Active Directory?
В принципе, сценарий, который у меня есть до сих пор, выглядит примерно так:
RunspaceConfiguration rc = RunspaceConfiguration.Create();
PSSnapInException snapEx = null;
rc.AddPSSnapIn("Microsoft.Exchange.Management.PowerShell.Admin", out snapEx);
Runspace runspace = RunspaceFactory.CreateRunspace(rc);
runspace.Open();
Pipeline pipeline = runspace.CreatePipeline();
using (pipeline)
{
pipeline.Commands.AddScript("Get-Mailbox -identity 'user.name'");
pipeline.Commands.Add("Out-String");
Collection<PSObject> results = pipeline.Invoke();
if (pipeline.Error != null && pipeline.Error.Count > 0)
{
foreach (object item in pipeline.Error.ReadToEnd())
resultString += "Error: " + item.ToString() + "\n";
}
runspace.Close();
foreach (PSObject obj in results)
resultString += obj.ToString();
}
return resultString;
Что вы используете в качестве хорошей альтернативы командной системе?
Я хотел бы оценить, какие решения используют другие люди, чтобы получить функциональность командной системы. Мы все знаем, что командная система может быть дорогой для некоторых из нас. Я знаю, что они предлагают небольшую версию team edition с пятью лицензиями и подпиской MSDN, но что делать, если ваша команда больше пяти или вы не хотите использовать Team System?
Лучшее решение .NET для часто изменяемой базы данных
В настоящее время я разрабатываю небольшое приложение CRUD. Их база данных-это огромный беспорядок и будет часто меняться в течение следующих 6 месяцев до года. Что бы вы порекомендовали для моего слоя данных:
1) ORM (если да, то какой?)
2) Linq2Sql
3) Хранимые Процедуры
4) Параметризованные Запросы
Мне действительно нужно решение, которое будет достаточно динамичным (как быстрым, так и легким), где я могу часто заменять таблицы и добавлять/удалять столбцы.
Примечание: у меня нет большого опыта работы с ORM (только немного SubSonic) и, как правило, используют хранимые процедуры, поэтому, возможно, это будет путь. Я хотел бы узнать Ling2Sql или NHibernate, если бы это позволяло ситуацию, которую я описал выше.
sn.exe сбой с сообщением об ошибке отказано в доступе
Я получаю сообщение об ошибке Access is Denied, когда использую инструмент strong name для создания нового ключа для подписи .NET assembly. Это прекрасно работает на машине Windows XP, но не работает на моей машине Vista.
PS C:\users\brian\Dev\Projects\BELib\BELib> sn -k keypair.snk
Microsoft (R) .NET Framework Strong Name Utility Version 3.5.21022.8
Copyright (c) Microsoft Corporation. All rights reserved.
Failed to generate a strong name key pair -- Access is denied.
Что вызывает эту проблему и как ее можно исправить?
Вы запускаете свой PowerShell или Командная строка как администратор? Я оказалось, что это первое место, чтобы смотрите пока не привыкнете к пользовательскому доступу Управление или путем поворота доступа пользователя Управление выключено.
Да, я пробовал запускать PS и обычную командную строку от имени администратора. Появляется то же самое сообщение об ошибке.
RSS каналы в ASP.NET MVC
Как бы вы рекомендовали обрабатывать каналы RSS в ASP.NET MVC? Используя стороннюю библиотеку? Используя RSS-й материал в BCL-м? Просто создаете представление RSS, которое отображает XML? Или что-то совсем другое?
ASP.Net MVC отображение маршрута
Я новичок в MVC (и ASP.Net маршрутизации). Я пытаюсь сопоставить *.aspx с контроллером под названием PageController .
routes.MapRoute(
"Page",
"{name}.aspx",
new { controller = "Page", action = "Index", id = "" }
);
Не будет ли код выше карты *.aspx до PageController ? Когда я запускаю это и набираю любую страницу .aspx, я получаю следующую ошибку:
Контроллер для пути '/Page.aspx' не может быть найден или он не реализует интерфейс IController. Имя параметра: controllerType
Есть ли что-то, чего я здесь не делаю?
Как вы регистрируете ошибки (исключения) в ваших приложениях ASP.NET?
Я ищу лучший способ регистрации ошибок в приложении ASP.NET. Я хочу иметь возможность получать электронные письма, когда в моем приложении возникают ошибки, с подробной информацией об исключении и текущем запросе.
В моей компании мы привыкли иметь свой собственный ErrorMailer, ловя все в Global.asax Application_Error. Он был "Ok", но не очень гибким и настраиваемым.
Мы недавно переключились на NLog. Это гораздо более настраиваемо, мы можем определить различные цели для ошибок, фильтровать их, буферизировать их (еще не пробовали). Это очень хорошее улучшение.
Но недавно я обнаружил, что для этой цели в фреймворке .Net есть целое пространство имен : System.Web.Management , и его можно настроить в разделе healthMonitoring web.config.
Вы когда-нибудь работали с мониторингом здоровья .Net? Каково ваше решение для регистрации ошибок?
Модульное тестирование приложения на основе таймера?
В настоящее время я пишу простое мини-приложение на основе таймера в C#, которое выполняет действие n раз каждые k секунд.
Я пытаюсь принять тестовый стиль разработки, поэтому моя цель-модульное тестирование всех частей приложения.
Итак, мой вопрос: есть ли хороший способ модульного тестирования класса на основе таймера?
Проблема, как я вижу, заключается в том, что существует большой риск того, что выполнение тестов займет неудобно много времени, поскольку они должны ждать так и так долго, чтобы желаемые действия произошли.
Особенно если вы хотите получить реалистичные данные (секунды), а не использовать минимальное разрешение по времени, разрешенное фреймворком (1 мс?).
Я использую макет объекта для действия, чтобы зарегистрировать количество раз, когда действие было вызвано, и так, чтобы действие практически не занимало времени.
Стоит ли мне беспокоиться о том, что мой код .NET будет запутан?
Я уверен, что многие читатели на SO использовали отражатель .NET Лутца Редера для декомпиляции своего кода .NET. Я был поражен тем, насколько точно наш исходный код может быть восстановлен из наших скомпилированных сборок.
Мне было бы интересно узнать, сколько из вас используют обфускацию и для каких продуктов?
Я уверен, что это гораздо более важный вопрос для, скажем, приложения .NET, которое вы предлагаете для загрузки через интернет, в отличие от того, что построено специально для конкретного клиента.
FileNotFoundException для mscorlib.XmlSerializers.DLL, который не существует
Я использую XmlSerializer для десериализации определенного типа в mscorelib.dll
XmlSerializer ser = new XmlSerializer( typeof( [.Net type in System] ) );
return ([.Net type in System]) ser.Deserialize( new StringReader( xmlValue ) );
Это выбрасывает пойманный FileNotFoundException , когда загружается assembly:
"Не удалось загрузить файл или assembly 'mscorlib.XmlSerializers, Версия=2.0.0.0, культура=нейтральная, PublicKeyToken=b77a5c561934e089' или одна из его зависимостей. Система не удается найти указанный файл."
FusionLog:
=== Pre-bind state information ===
LOG: User = ###
LOG: DisplayName = mscorlib.XmlSerializers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86
(Fully-specified)
LOG: Appbase = file:///C:/localdir
LOG: Initial PrivatePath = NULL
Calling assembly : System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\localdir\bin\Debug\appname.vshost.exe.Config
LOG: Using machine configuration file from c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
LOG: Post-policy reference: mscorlib.XmlSerializers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86
LOG: Attempting download of new URL file:///C:/localdir/bin/Debug/mscorlib.XmlSerializers.DLL.
LOG: Attempting download of new URL file:///C:/localdir/bin/Debug/mscorlib.XmlSerializers/mscorlib.XmlSerializers.DLL.
LOG: Attempting download of new URL file:///C:/localdir/bin/Debug/mscorlib.XmlSerializers.EXE.
LOG: Attempting download of new URL file:///C:/localdir/bin/Debug/mscorlib.XmlSerializers/mscorlib.XmlSerializers.EXE.
Насколько я знаю, нет mscorlib.XmlSerializers.DLL, я думаю, что имя DLL было автоматически сгенерировано .Net, ищущим сериализатор.
У вас есть возможность создать myApplication.XmlSerializers.DLL при компиляции для оптимизации сериализации, поэтому я предполагаю, что это часть проверки фреймворка.
Проблема в том, что это, по - видимому, вызывает задержку в загрузке приложения-кажется, что оно зависает на несколько секунд в этот момент.
Есть идеи, как этого избежать или ускорить?
Обновление схемы базы данных в Entity Framework
Я установил VS SP1 и поиграл с Entity Framework.
Я создал схему из существующей базы данных и попробовал некоторые основные операции.
Большинство из них прошло хорошо, за исключением обновления схемы базы данных.
Я изменил базу данных всеми основными способами:
- добавлена новая таблица
- удалил таблицу
- добавление нового столбца в существующую таблицу
- удаление столбца из существующей таблицы
- изменен тип существующего столбца
Первые три прошли хорошо, но изменение типа и удаление столбца не последовали за изменениями базы данных.
Есть ли какой-то способ сделать это работа от дизайнера? Или он не поддерживается в данный момент? Я еще не нашел никакого связанного материала, но все еще искал.
SVN редакция версии в .NET Assembly w/ из CC.NET
Есть ли какой-либо способ включить номер редакции репозитория SVN в строку версии A .NET assembly? Что-то вроде Major.Minor.SVNRev
Я видел упоминание о том, чтобы сделать это с чем-то вроде CC.NET (хотя на самом деле на ASP.NET), но есть ли способ сделать это без дополнительного программного обеспечения? Я делал подобные вещи в C/C++ перед использованием пакетных сценариев сборки, но это было сделано путем чтения номера версии, а затем сценарий выписывал файл под названием " ver.h " каждый раз с чем-то вроде:
#define MAJORVER 4
#define MINORVER 23
#define SOURCEVER 965
Затем мы будем использовать эти определения для создания строки версии.
Возможно ли что-то подобное?NET?
Проблема привязки данных ASP.Net AJAX toolkit MaskedEditExtender
У меня есть база данных, которая содержит дату, и мы используем MaskedEditExtender (MEE) и MaskedEditValidator, чтобы убедиться, что даты подходят. Тем не менее, мы хотим, чтобы администраторы могли войти и изменить данные (в частности, дату), если это необходимо.
Как я могу предварительно заполнить поле MEE значением базы данных, когда данные отображаются на странице? Я попытался использовать 'bind' в свойстве 'InitialValue', но он не заполняет textbox.
Спасибо.
Вы когда-нибудь отражали отражатель?
То есть отражатель Лютца Редера.
Его запутали.
Я все еще не понимаю этого. Может кто-нибудь объяснить, пожалуйста?
Учитывая N2 CMS, но беспокоился о производительности. Оправдано ли это?
Hy, кто-нибудь работал с системой управления контентом N2( http://www.codeplex.com/n2 ). Если да, то как он работает, производительность мудрая(при большой нагрузке)? Это кажется довольно простым и легким в использовании.
Адриан
446   5   11:04, 24th August, 2020
Как я могу удалить узлы из SiteMapNodeCollection?
У меня есть ретранслятор, который перечисляет все дочерние страницы web.sitemap на странице ASP.NET. Его DataSource - это SiteMapNodeCollection . Но я не хочу, чтобы моя страница регистрационной формы появилась там.
Dim Children As SiteMapNodeCollection = SiteMap.CurrentNode.ChildNodes
'remove registration page from collection
For Each n As SiteMapNode In SiteMap.CurrentNode.ChildNodes
If n.Url = "/Registration.aspx" Then
Children.Remove(n)
End If
Next
RepeaterSubordinatePages.DataSource = Children
Метод SiteMapNodeCollection.Remove() выбрасывает a
NotSupportedException: "Collection is read-only".
Как я могу удалить узел из коллекции до DataBinding повторителя?
Как избавиться от класса в .net?
Сборщик мусора .NET в конечном итоге освободит память, но что делать, если вы хотите, чтобы эта память немедленно вернулась? Какой код нужно использовать в классе MyClass для вызова
MyClass.Dispose()
и освободить все используемое пространство переменными и объектами в MyClass ?
Как присоединить обработчик ChangeEvent к наследуемому свойству зависимостей?
Как бы вы прикрепили обратный вызов propertychanged к свойству, которое наследуется? Вроде такой:
class A {
DependencyProperty prop;
}
class B : A {
//...
prop.AddListener(PropertyChangeCallback);
}
.NET VirtualPathProviders и предварительная компиляция
Мы работали над приложением, которое довольно сильно полагается на VirtualPathProviders в ASP.NET.
Мы только что пришли, чтобы поставить эту штуку на живой сервер, чтобы продемонстрировать ее, и похоже, что VirtualPathProviders просто не работает , когда сайт предварительно скомпилирован!!
Я смотрел на обходной путь, который был опубликован здесь: http://sunali.com/2008/01/09/virtualpathprovider-in-precompiled-web-sites/, но до сих пор мне не удалось заставить его работать! (Ну - это прекрасно работает на сервере веб-разработки visual studio - только не на нашем IIS box-опять же!).
У кого-нибудь здесь есть еще какая-нибудь информация по этой проблеме? Это зафиксировано в .NET v3.5 (мы сейчас строим для v2.0)?
Решение для репликации сеансов FOSS ASP.Net?
Я искал (с небольшим успехом) свободное/открытое решение для кластеризации сеансов и репликации для asp.net. Я столкнулся с обычными подозреваемыми (indexus sharedcache, memcached), однако у каждого из них есть некоторые ограничения.
- Indexus - очень незрелая, заглушенная реализация интерфейса сеанса. Однако в остальном это отличное решение для кэширования.
- Memcached -небольшая поддержка репликации/failover без перехода на серверную часть БД. Несколько проектов SF.Net-все прерваны на ранних стадиях... ничего такого, что, по-видимому, имеет какую-то тягу, и тот, который, по-видимому, стал полностью коммерческим.
- Microsoft Velocity -не OSS, но вроде неплохо. К сожалению, я не видел, где CTP1 поддерживает failover,и нет четкой дорожной карты для этого. Я боюсь,что этот может упасть в эфир, как и многие другие проекты MS dev.
Я достаточно привык к миру Java, где считается само собой разумеющимся, что многие решения подобных проблем будут доступны из мира FOSS.
Существуют ли какие-либо подходящие альтернативы в мире .Net?
536   4   15:11, 2nd August, 2020
Почему мое приложение asp.net выбрасывает ThreadAbortException?
само собой разумеющийся вопрос.
Почему эта штука пузырится в моей попытке поймать даже тогда, когда ничего не случилось?
Почему он появляется в моем журнале сотни раз?
Я знаю, что это новый вопрос, но если этот сайт собирается получить рейтинг поиска и привлечь новых пользователей, мы должны спросить их
Как вы можете опубликовать приложение ClickOnce через CruiseControl.NET?
У меня есть CruiseControl.NET версия 1.4, настроенная на моем сервере разработки. Всякий раз, когда разработчик проверяет код, он делает компиляцию.
Теперь мы находимся в том месте, где мы можем начать давать наше приложение тестировщикам. Мы хотели бы использовать ClickOnce для распространения приложения, причем идея заключается в том, что когда тестировщик идет тестировать приложение, у него есть последняя сборка.
Я не могу найти способ сделать так, чтобы это произошло с CruiseControl.NET. Мы используем MSBUILD для выполнения сборок.
Использует ли System.Xml MSXML?
Я разрабатываю приложение C#, которое использует несколько файлов XML и некоторые классы в System.Xml. Коллега настаивает на добавлении распространяемого пакета MSXML6 в нашу установку вместе с платформой .NET, но я не думаю, что платформа .NET использует или нуждается в MSXML в любом случае. Я хорошо знаю, что использование MSXML из .NET не поддерживается, но я предполагаю, что теоретически возможно для самого System.Xml обернуть MSXML на низком уровне. Я не нашел ничего определенного, что .NET имеет свою собственную реализацию, но и не могу найти ничего, что указывало бы на необходимость MSXML.
Помоги мне уладить этот спор. Использует ли System.Xml MSXML?
Почему поставщик профилей не был встроен в веб-приложения?
Если вы создадите проект веб-файла ASP.NET, у вас будет прямой доступ к информации профиля в файле web.config. Если вы конвертируете это в веб-приложение и используете ProfileCommon и т. д. затем вам нужно перепрыгнуть через целую кучу обручей, чтобы заставить ваше веб-приложение работать.
Почему поставщик профилей не был встроен в проекты веб-приложений ASP.NET, как это было с проектами веб-файлов?
Загрузка двоичных данных с помощью Silverlight 2b2
Я пытаюсь загрузить файл или поток данных на наш веб-сервер, и я не могу найти достойный способ сделать это. Я пробовал оба WebClient и WebRequest оба имеют свои проблемы.
WebClient
Приятно и легко, но вы не получаете никакого уведомления о том, что асинхронная загрузка завершена, и событие UploadProgressChanged не возвращается с чем-либо полезным. Альтернативой является преобразование двоичных данных в строку и использование UploadStringASync , потому что тогда , по крайней мере, вы получите UploadStringCompleted, проблема в том, что вам нужно много ram для больших файлов, поскольку он кодирует все данные и загружает их за один раз.
HttpWebRequest
Немного сложнее, но все же делает то, что нужно, проблема, которую я получаю, заключается в том, что, хотя она вызывается в фоновом потоке (предположительно), она по-прежнему блокирует мой UI и весь браузер, пока загрузка не завершится, что кажется не совсем правильным.
Обычный .net имеет некоторые соответствующие методы WebClient для OnUploadDataCompleted и прогресса, но они не доступны в Silverlight .net ... большое упущение, я думаю!
У кого-нибудь есть какие-либо решения, мне нужно загрузить несколько двоичных файлов предпочтительно с прогрессом, но мне нужно выполнить некоторые действия, когда файлы завершат свою загрузку.
С нетерпением ждем помощи с этим.
Могу ли я создать ListView с динамическим GroupItemCount?
Я использую новый элемент управления ASP.Net ListView для перечисления элементов базы данных, которые будут сгруппированы в разделы на основе одного из их столбцов, например:
region1
store1
store2
store3
region2
store4
region3
store5
store6
Возможно ли это сделать с ListView-х GroupItemTemplate? Каждый пример, который я видел, использует статическое количество элементов в группе, что не будет работать для меня. Я неправильно понимаю цель GroupItem?
Как я могу передать данные со страницы aspx в модальное всплывающее окно ascx?
Я довольно новичок в ASP.NET и пытаюсь узнать, как это делается. Я пришел из фона C#, так что часть кода позади легко, но думать, как веб-разработчик незнаком.
У меня есть страница aspx, которая содержит сетку флажков. У меня есть кнопка, которая кодируется с помощью события Button_Click, чтобы собрать список проверяемых строк и создать переменную сеанса из этого списка. На эту же кнопку ссылается (через TargetControlID) моя страница ascx ModalPopupExtender, которая управляет панелью на странице ascx.
При нажатии на кнопку открывается модальное всплывающее окно, но событие Button_Click никогда не срабатывает, поэтому модальное окно не получает свои данные сеанса.
Поскольку эти две страницы разделены, я не могу вызвать ModalPopupExtender из кода aspx.cs, я не могу добраться до списка флажков из кода ascx.cs, и я не вижу способа заполнить мою переменную сеанса, а затем программно активировать какую-то другую скрытую кнопку или элемент управления, который затем откроет мое модальное всплывающее окно.
Есть какие-нибудь мысли?
IronPython и ASP.NET
Кто-нибудь построил сайт с IronPython и ASP.NET. Каковы были ваши впечатления и готова ли комбинация к прайм-тайму?
Возвращение DataTables в WCF/.NET
У меня есть сервис WCF, из которого я хочу вернуть DataTable. Я знаю, что это часто очень обсуждаемая тема, насколько возвращение DataTables является хорошей практикой. Давайте на минуту отложим это в сторону.
Когда я создаю DataTable с нуля, как показано ниже, нет никаких проблем вообще. Таблица создается, заполняется и возвращается клиенту, и все хорошо:
[DataContract]
public DataTable GetTbl()
{
DataTable tbl = new DataTable("testTbl");
for(int i=0;i<100;i++)
{
tbl.Columns.Add(i);
tbl.Rows.Add(new string[]{"testValue"});
}
return tbl;
}
Однако, как только я выхожу и нажимаю на базу данных для создания таблицы, как показано ниже, я получаю CommunicationException "The underlying connection was closed: The connection was closed unexpectedly."
[DataContract]
public DataTable GetTbl()
{
DataTable tbl = new DataTable("testTbl");
//Populate table with SQL query
return tbl;
}
Таблица заполняется правильно на стороне сервера. Он значительно меньше, чем тестовая таблица, которую я прокрутил и вернул, а запрос маленький и быстрый - здесь нет проблем с таймаутами или большой передачей данных. Используются те же самые точные функции и DataContracts/ServiceContracts/BehaviorContracts.
Почему способ заполнения таблицы имеет какое-либо отношение к успешному возвращению таблицы?
Лучший способ пользовательского редактирования записей в ASP.NET?
Я исхожу из фона Rails и делаю некоторую работу над проектом ASP.NET (не ASP MVC). Вопрос новичка: какой самый простой способ сделать пользовательский редактор для таблицы записей?
Например: у меня есть куча строк данных, и я хочу изменить поле "category" на каждом-может быть, выпадающее меню, может быть, ссылка, может быть, пользователь вводит его.
В Rails я бы перебирал строки, чтобы построить таблицу, и имел бы форму для каждой строки. Форма будет иметь поле ввода или выпадающее меню и передавать данные контроллеру, например "/item/edit/15?категория=foo", где 15 - это itemID, а новая категория-"foo".
Я новичок в модели ASP.NET и не уверен в способе "right" сделать это - просто самый простой способ вернуть новые данные & сохранить его. Можно ли создать пользовательский элемент управления и добавить его к каждой строке? Любая помощь оценена по достоинству.
Загрузить XmlNodeList в XmlDocument без цикла?
Я изначально задал этот вопрос на RefactorMyCode, но там не получил ответа...
В принципе, я просто пытаюсь загрузить XmlNodeList в XmlDocument , и мне было интересно, есть ли более эффективный метод, чем цикл.
Private Function GetPreviousMonthsXml(ByVal months As Integer, ByVal startDate As Date, ByVal xDoc As XmlDocument, ByVal path As String, ByVal nodeName As String) As XmlDocument
'' build xpath string with list of months to return
Dim xp As New StringBuilder("//")
xp.Append(nodeName)
xp.Append("[")
For i As Integer = 0 To (months - 1)
'' get year and month portion of date for datestring
xp.Append("starts-with(@Id, '")
xp.Append(startDate.AddMonths(-i).ToString("yyyy-MM"))
If i < (months - 1) Then
xp.Append("') or ")
Else
xp.Append("')]")
End If
Next
'' *** This is the block that needs to be refactored ***
'' import nodelist into an xmldocument
Dim xnl As XmlNodeList = xDoc.SelectNodes(xp.ToString())
Dim returnXDoc As New XmlDocument(xDoc.NameTable)
returnXDoc = xDoc.Clone()
Dim nodeParents As XmlNodeList = returnXDoc.SelectNodes(path)
For Each nodeParent As XmlNode In nodeParents
For Each nodeToDelete As XmlNode In nodeParent.SelectNodes(nodeName)
nodeParent.RemoveChild(nodeToDelete)
Next
Next
For Each node As XmlNode In xnl
Dim newNode As XmlNode = returnXDoc.ImportNode(node, True)
returnXDoc.DocumentElement.SelectSingleNode("//" & node.ParentNode.Name & "[@Id='" & newNode.Attributes("Id").Value.Split("-")(0) & "']").AppendChild(newNode)
Next
'' *** end ***
Return returnXDoc
End Function
Добавьте .NET 2.0 SP1 в качестве предварительного условия для проекта deployment
У меня есть приложение .NET 2.0, которое недавно имело вклады, зависящие от пакета обновления 1. Проект deployment обнаружил .NET 2.0 в качестве предварительного условия,но не SP1. Как включить SP1 в качестве зависимостей / предварительных условий в мой проект deployment?
Каков ваш предпочтительный метод отправки сложных данных через веб-сервис?
Это 2008 год, и я все еще разрываюсь на этом. Поэтому я разрабатываю веб-метод, который нуждается в сложном типе, передаваемом в него и возвращаемом из него. Два варианта, с которыми я играю, это:
Передача и возврат реальных бизнес-объектов с данными и поведением. Когда wsdl.exe запускается, он автоматически создает прокси-классы, которые содержат только часть данных, и они будут автоматически преобразованы в мои реальные бизнес-объекты и из них на стороне сервера. На стороне клиента они будут использовать только тупой тип прокси, и им придется сопоставлять их с некоторыми реальными бизнес-объектами, как они считают нужным. Большой недостаток здесь заключается в том, что если я "own" как серверная, так и клиентская сторона, и я хочу использовать один и тот же набор реальных бизнес-объектов, я могу столкнуться с определенными головными болями с конфликтами имен и т. д. (Поскольку реальные объекты и прокси называются одинаково.)
Забудьте о попытке передать "real" бизнес-объектов. Вместо этого просто создайте простые объекты DataTransfer, которые я буду сопоставлять с моими реальными бизнес-объектами вручную. Они все равно копируются в новые прокси-объекты wsdl.exe, но по крайней мере я не обманываю себя, думая, что веб-сервисы могут изначально обрабатывать объекты с бизнес-логикой в них.
Кстати-кто-нибудь знает, как сказать wsdl.exe, чтобы не делать копию объекта? Разве мы не должны просто сказать ему: "Эй, используй этот существующий тип прямо здесь. Не копируйте его!"
Во всяком случае, пока я вроде как остановился на #2, но мне любопытно, что вы все думаете. У меня есть чувство, что есть гораздо лучшие способы сделать это в целом, и я даже не могу быть полностью точным по всем пунктам, поэтому, пожалуйста, дайте мне знать, что вы испытали.
Update: я только что узнал, что VS 2008 имеет возможность повторно использовать существующие типы при добавлении "ссылки на службу", а не создавать совершенно новый идентичный тип в файле прокси. Сладкий.
Что делать Реф, знач и про параметры метода?
Я ищу ясный, лаконичный и точный ответ.
В идеале в качестве фактического ответа, хотя ссылки на хорошие объяснения приветствуются.
Это также относится к VB.Net, но ключевые слова разные- ByRef и ByVal .
Как я могу преобразовать дату в HTTP-отформатированную дату в .Net / C#
Как можно преобразовать .Net DateTime в допустимую строку даты в формате HTTP?
Должен ли я поддерживать ASP.NET 1.1?
Я только что начал работать над проектом ASP.NET , который я надеюсь открыть с открытым исходным кодом, как только он достигнет подходящей стадии. В основном это будет библиотека, которую могут использовать существующие веб-сайты. Я предпочитаю поддерживать ASP.NET 2.0 через 3.5 , но мне было интересно, сколько людей я оставлю, не поддержав ASP.NET 1.1 ? Более конкретно, сколько людей все еще используют ASP.NET 1.1 , для которых ASP.NET 2.0/3.5 не является вариантом? Если обновление вашего сервера не является для вас вариантом, почему бы и нет?
A ThreadStateException возникает при попытке перезапустить поток
Время от времени я получаю System.Threading.ThreadStateException при попытке перезапустить поток. Рассматриваемый код выглядит следующим образом:
// Make sure the thread is done stopping
while (this.mThread.ThreadState == ThreadState.Running)
{
Thread.Sleep(0);
}
// Respawn a thread if the current one is stopped or doesn't exist
if (this.mThread == null || this.mThread.ThreadState == ThreadState.Stopped)
{
this.mThread = new Thread(new ParameterizedThreadStart(Monitor)); }
// Start the thread
if (check)
{
this.mThread.Start(60000);
}
else
{
this.mThread.Start(0);
}
Итак, два вопроса - Является ли это правильным способом делать вещи, и есть ли способ предотвратить возникновение ошибки?
Мобильное устройство определяется как не мобильное устройство
Я включил мобильную веб-форму в свой проект asp.net, я думал, что она может/должна быть видна только для моих мобильных пользователей, но я понимаю, что она также может быть видна из любого браузера, я не вижу там проблемы, потому что я мог бы diff доступ с помощью HttpBrowserCapabilities.IsMobileDevice=true и передачи на соответствующую страницу aspx, но это приводит к тому, что при доступе к веб-форме с моего мобильного устройства она идентифицируется как IsMobileDevice = false и отправляет меня на другую страницу.
Как это может быть возможным, что?
Мобильное устройство работает под управлением Pocket PC 2003.
Что делать Реф, знач и про параметры метода?
Я ищу ясный, лаконичный и точный ответ.
В идеале в качестве фактического ответа, хотя ссылки на хорошие объяснения приветствуются.
Это также относится к VB.Net, но ключевые слова разные- ByRef и ByVal .
Как я могу преобразовать дату в HTTP-отформатированную дату в .Net / C#
Как можно преобразовать .Net DateTime в допустимую строку даты в формате HTTP?
Должен ли я поддерживать ASP.NET 1.1?
Я только что начал работать над проектом ASP.NET , который я надеюсь открыть с открытым исходным кодом, как только он достигнет подходящей стадии. В основном это будет библиотека, которую могут использовать существующие веб-сайты. Я предпочитаю поддерживать ASP.NET 2.0 через 3.5 , но мне было интересно, сколько людей я оставлю, не поддержав ASP.NET 1.1 ? Более конкретно, сколько людей все еще используют ASP.NET 1.1 , для которых ASP.NET 2.0/3.5 не является вариантом? Если обновление вашего сервера не является для вас вариантом, почему бы и нет?
A ThreadStateException возникает при попытке перезапустить поток
Время от времени я получаю System.Threading.ThreadStateException при попытке перезапустить поток. Рассматриваемый код выглядит следующим образом:
// Make sure the thread is done stopping
while (this.mThread.ThreadState == ThreadState.Running)
{
Thread.Sleep(0);
}
// Respawn a thread if the current one is stopped or doesn't exist
if (this.mThread == null || this.mThread.ThreadState == ThreadState.Stopped)
{
this.mThread = new Thread(new ParameterizedThreadStart(Monitor)); }
// Start the thread
if (check)
{
this.mThread.Start(60000);
}
else
{
this.mThread.Start(0);
}
Итак, два вопроса - Является ли это правильным способом делать вещи, и есть ли способ предотвратить возникновение ошибки?
Мобильное устройство определяется как не мобильное устройство
Я включил мобильную веб-форму в свой проект asp.net, я думал, что она может/должна быть видна только для моих мобильных пользователей, но я понимаю, что она также может быть видна из любого браузера, я не вижу там проблемы, потому что я мог бы diff доступ с помощью HttpBrowserCapabilities.IsMobileDevice=true и передачи на соответствующую страницу aspx, но это приводит к тому, что при доступе к веб-форме с моего мобильного устройства она идентифицируется как IsMobileDevice = false и отправляет меня на другую страницу.
Как это может быть возможным, что?
Мобильное устройство работает под управлением Pocket PC 2003.
Манипуляция изображениями в asp.net/c# без System.Drawing/GDI+
Есть ли какая-либо альтернативная библиотека обработки изображений для .net? я бы предпочел что-то управляемое и с открытым исходным кодом.
Я спрашиваю об этом по двум причинам:
- В прошлом я сталкивался с трудными для отладки ошибками GDI+ с System.Drawing
- Я читал, что использование System.Drawing в asp.net веб-приложениях не поддерживается 100%.
Спасибо!
edit: уточнение, я знаю, что System.Drawing может работать с asp.net веб-приложениями - я использовал его в прошлом. Мне действительно просто интересно, есть ли какие-либо управляемые библиотеки манипуляций с изображениями для .net :)
Переопределить поведение вкладки в WinForms
У меня есть UserControl, который состоит из трех TextBoxes. На форме я могу иметь один или несколько или мой UserControl. Я хочу реализовать свое собственное поведение вкладки, поэтому, если пользователь нажимает Tab во втором TextBox, я должен перейти только к третьему TextBox, если во втором TextBox что-то введено. Если ничего не вводится во втором TextBox следующий элемент управления формы должен получить фокус в соответствии с обычным поведением вкладки. Если пользователь ничего не ввел в первом или втором TextBox и на вкладке presses есть этот особый случай, когда элемент управления в форме должен быть пропущен.
С помощью ProcessDialogKey мне удалось заставить его работать нормально, но у меня все еще есть одна проблема. Мой вопрос заключается в том, есть ли способ определить, как элемент управления WinForms получил фокус, так как я также хотел бы знать, получил ли мой UserControl фокус с вкладки или Shift-Tab, а затем сделал свои странные вещи, но если пользователь нажимает на элемент управления, я не хочу делать ничего особенного.
Замена для for... при итерации массива
Я люблю понимание списка в Python, потому что они лаконично представляют собой преобразование списка.
Однако на других языках я часто ловлю себя на том, что пишу что-то вроде::
foreach (int x in intArray)
if (x > 3) //generic condition on x
x++
//do other processing
Этот пример находится в C#,, где я под впечатлением LINQ может помочь с этим, но есть ли какая-то общая программная конструкция, которая может заменить это слегка less-than-elegant решение? Возможно, структура данных, которую я не рассматриваю?
Работает ли CruiseControl.NET на IIS 7.0?
Я новичок в разработке (администратор по торговле), и я настраиваю свою среду разработки, и я хотел бы настроить сервер CruiseControl.Net на сервере 2008. Быстрый Google не нашел никаких инструкций для запуска его на IIS 7.0, поэтому мне было интересно, есть ли у кого-нибудь опыт в этой настройке.
Программный доступ к стеку вызовов в .чистая
Как я могу получить программный доступ к стеку вызовов?
GridView удалить не работает
Я использую GridView в C#.NET 3.5 и только что преобразовал базовую модель DataSource из Adapter в объект,который получает свои данные от LINQ до SQL-т. е. бизнес-объект, который returns a List<> для функции GetData() и т. д.
Все было хорошо в Дании и Update, и условные операторы Select работают так, как ожидалось, но я не могу заставить функцию Delete работать. Просто пытаюсь передать ID или весь объект, но он передается в объект "new" без набора свойств. Мне просто интересно, если это старый монстр OldValuesParameterFormatString="original_{0}" в ObjectDataSource вызывает путаницу снова.
У кого-нибудь есть идеи?
Отчеты .NET 3.5 SP1 и aspnet_client Crystal
Я недавно (несколько дней назад) установил .NET 3.5 с пакетом обновления 1, а затем папку aspnet_client, находящихся с кучей отчетов Crystal код был впрыснут в мое .net веб-приложений.
Кто-нибудь еще испытал это? Правильно ли я говорю, что это побочный эффект SP1? Что это такое?
пользовательские элементы управления и asp.net mvc
Вот один тривиальный вопрос, с которым я не уверен, как справиться. Мне нужно отобразить список категорий на каждой странице и иметь возможность выбирать элементы из определенной категории для отображения. Я использую asp.net MVC и решил создать пользовательский элемент управления, который будет отображать категории. Мой вопрос: каков наилучший подход для передачи данных в пользовательский элемент управления. Я уже нашел некоторую информацию в этих сообщениях в блоге:
http://blog.matthidinger.com/2008/02/21/ASPNETMVCUserControlsStartToFinish.aspx
Я хотел бы также услышать Ваше мнение.
PS. Я хотел бы услышать мнение Джеффа, особенно из - за его опыта работы с UC на Stackoverflow
ASP.net AJAX Drag/Drop?
Интересно, знает ли кто-нибудь, есть ли заранее подготовленное решение для этого: у меня есть список на веб-сайте ASP.net, и я хочу, чтобы пользователь мог повторно отсортировать список с помощью перетаскивания. Кроме того, я хотел бы иметь второй список, в который пользователь может перетаскивать элементы из первого списка.
Пока что я нашел два решения:
- ReorderList из набора инструментов управления Ajax, который требует немного ручной работы, чтобы убедиться, что изменения сохраняются в базе данных,и который не поддерживает перетаскивание между списками.
- RadGrid от Telerik, который делает все, что я хочу, но по цене намного превосходит мой бюджет.
Есть ли у кого-нибудь еще какие-то идеи или хотя бы некоторые ключевые слова/указатели для дальнейшего исследования? В особенности перетаскивание между двумя списками-это то, что я довольно невежественен в том, как это сделать в ASP.net.
Кстати, целевой фреймворк-это 3.0.
C# .NET перечисление содержимого удаленных файлов
Возможно ли в .NET перечислить файлы в удаленном расположении, как в URL? Во многом таким же образом работают классы System.IO. Все, что мне нужно, это URLs для изображений, которые находятся на удаленном сервере.
Предложения по переходу с ASP.NET WebForms на ASP.NET MVC?
ASP.NET MVC обсуждалось на этом форуме несколько раз. Я собираюсь сделать большую миграцию нескольких веб-сайтов с классического ASP/ASP.NET WebForms на ASP.NET MVC и задавался вопросом, какие советы у вас есть с опытом работы в обеих технологиях.
Что у меня есть: типичное приложение ASP.NET с сильно связанной презентацией / бизнес-логикой, всевозможные грязные ASP.NET-generated Javascript cruft и т. д.
Что я хочу: чистый ASP.NET MVC-сгенерированный агностик markup. 'Nuff сказал.
Любые указатели, советы, трюки или gotchas, чтобы быть в курсе?
Спасибо!
Как запланировать пакетный процесс в asp.net
Я хочу запустить еженедельный пакетный процесс на странице asp.net. Как это можно сделать?
Спасибо
цитирование System.DirectoryServices.ResultPropertyCollection
Я что-то упускаю здесь:
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = New-Object System.DirectoryServices.DirectoryEntry
$objSearcher.Filter = ("(objectclass=computer)")
$computers = $objSearcher.findall()
Итак, вопрос в том, почему два следующих вывода отличаются?
$computers | %{
"Server name in quotes $_.properties.name"
"Server name not in quotes " + $_.properties.name
}
PS> $computers[0] | %{"$_.properties.name"; $_.properties.name}
System.DirectoryServices.SearchResult.properties.name
GORILLA
Как создать файл автоматической сборки для VB.Net в NAnt?
Я взял на себя разработку веб-приложения, ориентированного на платформу .net 1.0 и написанного на языках C# и Visual Basic.
Я решил, что первое, что нам нужно сделать, это уточнить процесс сборки, я написал файлы сборки для проектов C#, но у меня есть тонны проблем с созданием файла сборки для Visual Basic.
По общему признанию, я лично не знаю VB, но похоже, что мне нужно жестко закодировать все импортные и ссылочные файлы в моем файле сборки, чтобы получить что-либо до work...certainly не лучший способ делать вещи...
Например: если я не включу систему пространств имен в файл сборки, я получу несколько ошибок общих неизвестных типов, например: Guid
не NAnt, как правило, требуют этот код VB или является ли код VB нужен можно NAnt-содружественная рефакторинг?
У кого-нибудь есть советы VB NAnt?
Как сделать пользовательский установщик профиля клиента .net?
Для .net 3.5 SP1 у Microsoft есть новый профиль клиента, который устанавливает только подмножество .net 3.5 SP1 на машины пользователя Windows XP.
Я знаю, как сделать мой профиль клиента сборки готовым. И я читал статьи о том, как реализовать инсталлятор для ClickOnce или MSI .
Но я уже использовал программу установки Inno для своего проекта и хотел бы продолжать ее использовать (как экспресс-пользователь, я не могу легко сделать MSIs), мне нужно знать, как использовать установщик клиентского профиля в пользовательской среде.
Есть статья о схеме Deployment.xml, но нет указаний на то, как ее написать, упаковать или что-то еще. Может ли кто-нибудь объяснить этот процесс? Поиск статей, на которые я ссылался в одиночку, был болезненным опытом поиска.
514   3   02:30, 4th August, 2020
Отключение ListView в C#,, но все еще показывает текущий выбор
У меня есть элемент управления ListView, и я пытаюсь найти самый простой/лучший способ запретить изменение выбранных строк, не скрывая выбранные строки.
Я знаю, что есть свойство HideSelection , но это работает только тогда, когда ListView все еще включен (но не сфокусирован). Мне нужно, чтобы выбор был видимым, даже если ListView отключен.
Как я могу это реализовать?
Предотвращение утечек памяти с помощью прикрепленных моделей поведения
Я создал "attached behaviour" в своем приложении WPF, которое позволяет мне обрабатывать нажатие клавиши Enter и переходить к следующему элементу управления. Я называю его EnterKeyTraversal.IsEnabled, и вы можете увидеть код на моем блоге здесь .
Моя главная проблема сейчас заключается в том, что у меня может быть утечка памяти, так как я обрабатываю событие PreviewKeyDown на UIElements и никогда явно не "unhook" событие.
Как лучше всего предотвратить эту утечку (если она действительно существует)? Следует ли мне сохранить список элементов, которыми я управляю, и отцепить событие PreviewKeyDown в событии Application.Exit? Удалось ли кому-нибудь добиться успеха с привязанным поведением в своих собственных приложениях WPF и придумать элегантное решение для управления памятью?
System.Data.SqlClient.SqlException: не удалось создать пользовательский экземпляр сервера SQL
System.Data.SqlClient.SqlException: Failed to generate a user instance of SQL Server due to a failure in starting the process for the user instance. The connection will be closed.
Кто - нибудь когда-нибудь получал эту ошибку и/или имел представление о ее причине и/или решении?
Эта ссылка может содержать соответствующую информацию.
Обновление
Строка подключения- =.\SQLEXPRESS;AttachDbFilename=C:\temp\HelloWorldTest.mdf;Integrated Security=True
Предложенный вариант User Instance=false сработал.
Что происходит с| Pipe-разделителями / переменными в строках соединений?
Я знаю, что |DataDirectory / разрешится до App_Data в приложении ASP.NET, но это жестко задано или есть обобщенный механизм, работающий в соответствии с %environment variables% ?
Как загрузить плагины в .NET?
Я хотел бы предоставить некоторый способ создания динамически загружаемых плагинов в моем программном обеспечении. Типичный способ сделать это-использовать функцию LoadLibrary WinAPI для загрузки dll и вызова GetProcAddress , чтобы получить указатель на функцию внутри этого dll.
Мой вопрос заключается в том, как мне динамически загрузить плагин в приложении C#/.Net?
Управляемый хостинг системы управления версиями и непрерывная интеграция с CVSDude и CruiseControl.net
Для моего собственного проекта дома я использую довольно отличный управляемый хостинг subversion от CVSDude . Поскольку сейчас я работаю только над кодом, я не использую CruiseControl.net, однако я ожидаю, что это изменится в ближайшие пару месяцев и потребуется полный процесс сборки, чтобы начать при регистрации.
Кому-нибудь удалось заставить CruiseControl.net работать с CVSDude? У моего коллеги Майка есть этот пост в блоге , где кто-то из CVSDude сказал::
"Вы можете использовать наше средство обратного вызова после фиксации, чтобы вызвать URL на вашем сервер, который передает переменные, относящиеся к последней проверке (переменные подробно описано в нашей спецификации). В вашем скрипте CGI будут эти переменные и выполняйте любые необходимые задачи, например, обновление круиз-контроля и т. д."
Звучит очень мило. Но действительно ли кто-нибудь сделал это с cruisecontrol?
Настройка производительности 64bit .NET
Я знаю, что .NET -это JIT , скомпилированный в архитектуру, на которой вы работаете непосредственно перед запуском приложения, но оптимизирует ли компилятор JIT для 64-битной архитектуры вообще?
Есть ли что-то, что нужно сделать или рассмотреть при программировании приложения, которое будет работать на 64bit system ? (т. е. улучшит ли использование Int64 производительность и сможет ли компилятор JIT автоматически заставить Int64 работать на 32-битных системах?)
Альфа-смешивание цветов в компактной структуре .NET 2.0
В полной платформе .NET вы можете использовать метод Color.FromArgb() для создания нового цвета с Альфа-смешиванием, например::
Color blended = Color.FromArgb(alpha, color);
или
Color blended = Color.FromArgb(alpha, red, green , blue);
Однако в Compact Framework (2.0 конкретно) ни один из этих методов не доступен, вы только получаете:
Color.FromArgb(int red, int green, int blue);
и
Color.FromArgb(int val);
Первый из них, очевидно, даже не позволяет ввести Альфа-значение, но документация для последнего показывает, что "val"-это 32-битное значение ARGB (как 0xAARRGGBB в отличие от стандартного 24-битного 0xRRGGBB), поэтому было бы разумно просто построить значение ARGB и передать его функции. Я попробовал это сделать со следующим:
private Color FromARGB(byte alpha, byte red, byte green, byte blue)
{
int val = (alpha << 24) | (red << 16) | (green << 8) | blue;
return Color.FromArgb(val);
}
Но независимо от того, что я делаю, Альфа-смешивание никогда не работает, результирующий цвет всегда имеет полную непрозрачность, даже если значение альфа равно 0.
Кто-нибудь получил это, чтобы работать на компактной основе?
Как организовать запросы набора данных для повышения производительности
Я не знаю, когда, чтобы добавить к набору данных адаптера таблицы или запроса с помощью панели инструментов. Разве это имеет какое-то значение?
Я также не знаю, где создавать экземпляры адаптеров.
- Должен ли я сделать это в
Page_Load? - Должен ли я просто сделать это, когда я собираюсь использовать его?
- Открываю ли я новое соединение при создании нового экземпляра?
Это не кажется очень важным, но каждый раз, когда я создаю запрос, маленький голос в моем мозгу задает мне эти вопросы.
Статические методы в интерфейсе / абстрактном классе
Во-первых, я понимаю причины, по которым интерфейс или абстрактный класс (в терминологии .NET/C#) не может иметь абстрактных статических методов. Мой вопрос тогда больше сосредоточен на лучшем дизайнерском решении.
Мне нужен набор классов "helper", каждый из которых имеет свои собственные статические методы, так что если я получу объекты A, B и C от стороннего поставщика, у меня могут быть вспомогательные классы с такими методами, как
AHelper.RetrieveByID(string id); AHelper.RetrieveByName(string name); AHelper.DumpToDatabase();
Поскольку мои классы AHelper, BHelper и CHelper в основном будут иметь одни и те же методы, то, по-видимому, имеет смысл переместить эти методы в интерфейс, из которого эти классы затем выводятся. Однако желание, чтобы эти методы были статическими, не позволяет мне иметь универсальный интерфейс или абстрактный класс, из которого все они будут производными.
Я всегда могу сделать эти методы нестатическими, а затем сначала создать экземпляр объектов, таких как
AHelper a = new AHelper(); a.DumpToDatabase();
Однако этот код не кажется мне таким интуитивным. Какие у вас есть предложения? Следует ли мне вообще отказаться от использования интерфейса или абстрактного класса (ситуация, в которой я сейчас нахожусь), или это может быть переработано для выполнения дизайна, который я ищу?
Какой Url рерайтер вы используете для ASP.Net?
Я просмотрел несколько URL рерайтеров для ASP.Net и IIS и задался вопросом, что все остальные используют и почему.
Вот те, которые я использовал или посмотрел:
- ThunderMain URLRewriter: использованный в предыдущем проекте, не совсем имел гибкость/производительность, которую мы искали
- Ewal UrlMapper: используется в текущем проекте, но источник, похоже, заброшен
- UrlRewritingNet.UrlRewrite: вроде бы неплохая библиотека, но документация плохая grammar заставляет меня чувствовать себя неловко
- UrlRewriter.NET : это моя текущая версия, обладает большой гибкостью, хотя дополнительные функции, закачанные в заменяющие регулярные выражения, немного изменяют стандартный синтаксис .Net regex
- Управляемый Fusion URL Rewriter : я нашел это в предыдущем вопросе о переполнении стека, но еще не пробовал его, судя по синтаксису примера, он не кажется редактируемым через web.config
UrlEncode через консольное приложение?
Обычно я бы просто использовал:
HttpContext.Current.Server.UrlEncode("url");
Но так как это консольное приложение, то HttpContext.Current всегда будет null .
Есть ли другой метод, который делает то же самое, что я мог бы использовать?
Принтеры недоступны, если они не являются общими
Мы используем классический asp для вызова C# dll и в C# dll мы используем System.Drawing.Printing.PrinterSettings.InstalledPrinters, чтобы получить список доступных принтеров. Если принтеры не являются общими, они не будут отображаться, когда пользователь пытается распечатать. Локальная системная учетная запись может видеть и печатать на них с VB6 dll, а администраторы могут печатать просто отлично с C# dll, как вы могли бы ожидать. Есть ли какие-то разрешения, которые мы должны предоставить пользователю, чтобы эти принтеры были доступны?
Как лучше всего использовать версию файла и версию Assembly?
В .NET есть два номера версий, доступных при построении проекта, версия файла и версия Assembly. Как вы используете эти цифры? Оставить их прежними? Автоматическое увеличение одного, но ручное изменение другого?
А как насчет атрибута AssemblyInformationalVersion ?
Я нашел эту статью в базе знаний Майкрософт поддержки (KB), которая предоставляла некоторую помощь: как использовать версию Assembly и версию файла Assembly .
Вопрос интервью на тему C# и VB.net сходства/различия
Я уже несколько лет являюсь разработчиком VB.net, но в настоящее время я обращаюсь к нескольким компаниям, которые используют C#..мне даже сказали, что по крайней мере одна из компаний не хочет разработчиков VB.net.
Я искал в интернете, пытаясь найти реальные различия между этими двумя и спросил о crackoverflow. Единственное существенное различие - это несколько синтаксических различий, которые для меня тривиальны, потому что я также являюсь разработчиком Java.
Какой будет хороший ответ интервьюеру, когда он скажет мне, что ищет разработчика C# - или аналогичные вопросы?
Почему VS 2005 продолжает давать мне ошибку" 'x' неоднозначно в пространстве имен 'y'"?
Баунти: я пошлю $5 через paypal за ответом, который исправит эту проблему для меня.
Я не уверен, какой параметр VS я изменил или это параметр web.config или что, но я продолжаю получать эту ошибку в списке ошибок, и все же все решения строятся нормально. Вот несколько примеров:
Error 5 'CompilerGlobalScopeAttribute' is ambiguous in the namespace 'System.Runtime.CompilerServices'. C:\projects\MyProject\Web\Controls\EmailStory.ascx 609 184 C:\...\Web\
Error 6 'ArrayList' is ambiguous in the namespace 'System.Collections'. C:\projects\MyProject\Web\Controls\EmailStory.ascx.vb 13 28 C:\...\Web\
Error 7 'Exception' is ambiguous in the namespace 'System'. C:\projects\MyProject\Web\Controls\EmailStory.ascx.vb 37 21 C:\...\Web\
Error 8 'EventArgs' is ambiguous in the namespace 'System'. C:\projects\MyProject\Web\Controls\EmailStory.ascx.vb 47 64 C:\...\Web\
Error 9 'EventArgs' is ambiguous in the namespace 'System'. C:\projects\MyProject\Web\Controls\EmailStory.ascx.vb 140 72 C:\...\Web\
Error 10 'Array' is ambiguous in the namespace 'System'. C:\projects\MyProject\Web\Controls\EmailStory.ascx.vb 147 35 C:\...\Web\
[...etc...]
Error 90 'DateTime' is ambiguous in the namespace 'System'. C:\projects\MyProject\Web\App_Code\XsltHelperFunctions.vb 13 8 C:\...\Web\
Как вы можете себе представить, это действительно раздражает, так как везде в коде есть синие волнистые подчеркивания, и отфильтровать соответствующие ошибки в области списка ошибок практически невозможно. Я проверил значения по умолчанию ASP.Net web.config и machine.config, но там, похоже, ничего не выделялось.
Edit: вот некоторые из источников, где происходят ошибки:
'Error #5: whole line is blue underlined'
<%= addEmailToList.ToolTip %>
'Error #6: ArrayList is blue underlined'
Private _emails As New ArrayList()
'Error #7: Exception is blue underlined'
Catch ex As Exception
'Error #8: System.EventArgs is blue underlined'
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'Error #9: System.EventArgs is blue underlined'
Protected Sub sendMessage_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles sendMessage.Click
'Error #10: Array is blue underlined'
Me.emailSentTo.Text = Array.Join(";", mailToAddresses)
'Error #90: DateTime is blue underlined'
If DateTime.TryParse(data, dateValue) Then
Edit: GacUtil результаты
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\gacutil -l mscorlib
Microsoft (R) .NET Global Assembly Cache Utility. Version 1.1.4318.0
Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.
The Global Assembly Cache contains the following assemblies:
The cache of ngen files contains the following entries:
mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c5619
34e089, Custom=5a00410050002d004e0035002e0031002d003800460053002d003700430039004
40037004500430036000000
mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c5619
34e089, Custom=5a00410050002d004e0035002e0031002d0038004600440053002d00370043003
900450036003100370035000000
Number of items = 2
"C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil" -l mscorlib Microsoft (R) .NET Global Assembly Cache Utility. Version 2.0.50727.42 Copyright (c) Microsoft Corporation. All rights reserved. The Global Assembly Cache contains the following assemblies: Number of items = 0
Edit: интересные результаты от ngen:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ngen display mscorlib /verbose
Microsoft (R) CLR Native Image Generator - Version 2.0.50727.832
Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.
NGEN Roots:
mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=5a00410050002d004e0035002e0031002d003800460053002d00330037004200430043003300430035000000
ScenarioDefault
mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=5a00410050002d004e0035002e0031002d003800460053002d00330037004200430043003300430035000000
DisplayName = mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Native image = {7681CE0F-F0E7-F03A-2B56-96345589D82B}
Hard Dependencies:
Soft Dependencies:
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
ScenarioNoDependencies
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
DisplayName = mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Native image = {7681CE0F-F0E7-F03A-2B56-96345589D82B}
Hard Dependencies:
Soft Dependencies:
NGEN Roots that depend on "mscorlib":
[...a bunch of stuff...]
Native Images:
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Source MVID: {D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Source HASH: bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
NGen GUID sign: {7681CE0F-F0E7-F03A-2B56-96345589D82B}
OS: WinNT
Processor: x86(Pentium 4) (features: 00008001)
Runtime: 2.0.50727.832
mscorwks.dll: TimeStamp=461F2E2A, CheckSum=00566DC9
Flags:
Scenarios: <no debug info> <no debugger> <no profiler> <no instrumentation>
Granted set: <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true"/>
File:
C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll
Dependencies:
mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Source MVID: {D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Source HASH: bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
NGen GUID sign: {7681CE0F-F0E7-F03A-2B56-96345589D82B}
OS: WinNT
Processor: x86(Pentium 4) (features: 00008001)
Runtime: 2.0.50727.832
mscorwks.dll: TimeStamp=461F2E2A, CheckSum=00566DC9
Flags:
Scenarios: <no debug info> <no debugger> <no profiler> <no instrumentation>
Granted set: <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true"/>
File:
C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll
Dependencies:
mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Source MVID: {D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Source HASH: bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
NGen GUID sign: {7681CE0F-F0E7-F03A-2B56-96345589D82B}
OS: WinNT
Processor: x86(Pentium 4) (features: 00008001)
Runtime: 2.0.50727.832
mscorwks.dll: TimeStamp=461F2E2A, CheckSum=00566DC9
Flags:
Scenarios: <no debug info> <no debugger> <no profiler> <no instrumentation>
Granted set: <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true"/>
File:
C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll
Dependencies:
mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Source MVID: {D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Source HASH: bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
NGen GUID sign: {7681CE0F-F0E7-F03A-2B56-96345589D82B}
OS: WinNT
Processor: x86(Pentium 4) (features: 00008001)
Runtime: 2.0.50727.832
mscorwks.dll: TimeStamp=461F2E2A, CheckSum=00566DC9
Flags:
Scenarios: <no debug info> <no debugger> <no profiler> <no instrumentation>
Granted set: <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true"/>
File:
C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll
Dependencies:
mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Source MVID: {D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Source HASH: bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
NGen GUID sign: {7681CE0F-F0E7-F03A-2B56-96345589D82B}
OS: WinNT
Processor: x86(Pentium 4) (features: 00008001)
Runtime: 2.0.50727.832
mscorwks.dll: TimeStamp=461F2E2A, CheckSum=00566DC9
Flags:
Scenarios: <no debug info> <no debugger> <no profiler> <no instrumentation>
Granted set: <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true"/>
File:
C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll
Dependencies:
mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Source MVID: {D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Source HASH: bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
NGen GUID sign: {7681CE0F-F0E7-F03A-2B56-96345589D82B}
OS: WinNT
Processor: x86(Pentium 4) (features: 00008001)
Runtime: 2.0.50727.832
mscorwks.dll: TimeStamp=461F2E2A, CheckSum=00566DC9
Flags:
Scenarios: <no debug info> <no debugger> <no profiler> <no instrumentation>
Granted set: <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true"/>
File:
C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll
Dependencies:
mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Source MVID: {D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Source HASH: bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
NGen GUID sign: {7681CE0F-F0E7-F03A-2B56-96345589D82B}
OS: WinNT
Processor: x86(Pentium 4) (features: 00008001)
Runtime: 2.0.50727.832
mscorwks.dll: TimeStamp=461F2E2A, CheckSum=00566DC9
Flags:
Scenarios: <no debug info> <no debugger> <no profiler> <no instrumentation>
Granted set: <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true"/>
File:
C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll
Dependencies:
mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Source MVID: {D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Source HASH: bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
NGen GUID sign: {7681CE0F-F0E7-F03A-2B56-96345589D82B}
OS: WinNT
Processor: x86(Pentium 4) (features: 00008001)
Runtime: 2.0.50727.832
mscorwks.dll: TimeStamp=461F2E2A, CheckSum=00566DC9
Flags:
Scenarios: <no debug info> <no debugger> <no profiler> <no instrumentation>
Granted set: <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true"/>
File:
C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll
Dependencies:
mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Source MVID: {D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Source HASH: bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
NGen GUID sign: {7681CE0F-F0E7-F03A-2B56-96345589D82B}
OS: WinNT
Processor: x86(Pentium 4) (features: 00008001)
Runtime: 2.0.50727.832
mscorwks.dll: TimeStamp=461F2E2A, CheckSum=00566DC9
Flags:
Scenarios: <no debug info> <no debugger> <no profiler> <no instrumentation>
Granted set: <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true"/>
File:
C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll
Dependencies:
mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Source MVID: {D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Source HASH: bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
NGen GUID sign: {7681CE0F-F0E7-F03A-2B56-96345589D82B}
OS: WinNT
Processor: x86(Pentium 4) (features: 00008001)
Runtime: 2.0.50727.832
mscorwks.dll: TimeStamp=461F2E2A, CheckSum=00566DC9
Flags:
Scenarios: <no debug info> <no debugger> <no profiler> <no instrumentation>
Granted set: <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true"/>
File:
C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll
Dependencies:
mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Source MVID: {D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Source HASH: bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
NGen GUID sign: {7681CE0F-F0E7-F03A-2B56-96345589D82B}
OS: WinNT
Processor: x86(Pentium 4) (features: 00008001)
Runtime: 2.0.50727.832
mscorwks.dll: TimeStamp=461F2E2A, CheckSum=00566DC9
Flags:
Scenarios: <no debug info> <no debugger> <no profiler> <no instrumentation>
Granted set: <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true"/>
File:
C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll
Dependencies:
mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
В нативных образах должен быть только один mscorlib, правильно? Как я могу избавиться от остальных?
[ADO.NET error]: в базе данных 'master' отказано в разрешении создать базу данных. Попытка прикрепить базу данных с автоматическим именем для файла HelloWorld.mdf не удалась
Создать базу данных разрешение запрещено в базе данных 'master'.
Попытка прикрепить базу данных с автоматическим именем для файла
C:\Documents и Settings\..\App_Data\HelloWorld.mdf потерпели неудачу.
База данных с таким же именем существует, или указанный файл не может быть
открыт, или он находится на UNC share.
Создать базу данных разрешение запрещено в базе данных 'master'. Попытка прикрепить базу данных с автоматическим именем для файла C:\Documents и Settings\..\App_Data\HelloWorld.mdf потерпели неудачу. База данных с таким же именем существует, или указанный файл не может быть открыт, или он находится на UNC share.
Я нашел эти ссылки:
- http://blog.benhall.me.uk/2008/03/sql-server-and-vista-create-database.html
- http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=702726&SiteID=1
Могу ли я генерировать маршруты ASP.NET MVC из Sitemap?
Я думаю изучить структуру ASP.NET MVC для предстоящего проекта. Могу ли я использовать расширенный маршрутизации, чтобы создать ДЛИННЫЕ URLs на основе иерархии sitemap?
Пример пути навигации:
Главная > Магазин > Продукты > Бытовая Техника > Кухня > Посуда > Кухонные Гарнитуры > Антипригарные
Типичный (я думаю) MVC URL:
http://example.com/products/category/NonstickCooksets
Нужные URL:
http://example.com/shop/products/household/kitchen/cookware/cooksets/nonstick
Могу я это сделать?
Привязка параметров: что происходит под капотом?
.
NET, Java и другие высокоуровневые базы данных API на различных языках часто предоставляют методы, известные как подготовленные операторы и привязка параметров, в отличие от отправки простых текстовых команд на сервер базы данных. Я хотел бы знать, что происходит, когда вы выполняете такой оператор:
SqlCommand cmd = new SqlCommand("GetMemberByID");
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter param = new SqlParameter("@ID", memberID);
para.DbType = DbType.Integer;
cmd.Parameters.Add(param);
Я знаю, что это лучшая практика. SQL инъекционные атаки сводятся к минимуму таким образом. Но что именно происходит под капотом, когда вы выполняете эти заявления? Является ли конечный результат все еще безопасной строкой SQL? Если нет, то каков конечный результат? И достаточно ли этого для предотвращения SQL инъекционных атак?
Как отключить Alt + F4 закрывающую форму?
Что является лучшим способом, чтобы отключить Alt + F4 в c# выиграть форму, чтобы предотвратить пользователей от закрытия формы?
Я использую форму как всплывающее диалоговое окно для отображения индикатора выполнения, и я не хочу, чтобы пользователь мог закрыть его.
.NET 3.5 Service Pack 1 вызывает 404 страницы в ASP.NET веб-приложении
У меня есть проблема с IIS 6.0 прекращением работы для приложения ASP.NET после установки пакета обновления 1 для .NET 3.5 .
У меня есть 2 идентичных виртуальных выделенных сервера. Установка SP1 на Первом не оказала никакого негативного влияния. Установка его на втором вызвала ASP.NET страницы, чтобы начать возвращать 404 страницы не найдено.
Статические страницы .html работают нормально на обоих серверах.
Кто-нибудь еще испытывал это?
Тестирование веб-приложений для .Net (WatiN Test Recorder)
Я использую WatiN в качестве инструмента тестирования для моего текущего проекта. Помимо незначительных ошибок с регистратором тестов, я смог использовать его и автоматизировать многие свои тесты в сочетании с NUnit. Кто-нибудь еще там с опытом работы с различными инструментами, которые они могли бы предложить?
Ищем пример командного шаблона для UI
Я работаю над приложением WinForm .Net с базовым UI, которое включает кнопки панели инструментов, пункты меню и нажатия клавиш, которые все инициируют один и тот же базовый код. Прямо сейчас обработчики событий для каждого из них вызывают общий метод для выполнения функции.
Из того, что я прочитал, этот тип действий может быть обработан шаблоном проектирования команд с дополнительным преимуществом автоматического включения/выключения или проверки/снятия флажков элементов UI.
Я искал в сети хороший примерный проект, но так и не нашел его. Есть ли у кого-нибудь хороший пример, которым можно поделиться?
найти потерянные методы в codebase
Я уверен, что мы все видели его before...A кодовая база, которая была вокруг в течение года или двух, и поскольку функции были добавлены и исправлены ошибки, мы в конечном итоге с кусками кода, которые на самом деле больше не используются. Мне интересно, есть ли способ (особенно в VS.NET с помощью или без стороннего инструмента) искать кодовую базу и показывать мне, какие методы NEVER используются где-либо еще в коде?
Единственная проблема, которую я могу придумать в отношении этого типа утилиты, - это невозможность сопоставить, когда происходят неявные преобразования типов. Но если предположить, что это не проблема, каковы мои варианты?
Кнопка цикла фоновые изображения в C#
У меня есть форма в C#, которая имеет кнопку, при нажатии на которую я хочу, чтобы фоновое изображение циклически проходило через набор изображений (которые у меня есть в качестве ресурсов для проекта). Изображения по имени '_1', '_2', и т. д. и каждый раз, когда я нажимаю кнопку, Я хочу, чтобы его фоновое изображение увеличивалось до следующего и возвращалось к "_1", когда оно достигнет самого высокого. Есть ли способ сделать это?
Я попытался получить button1.BackgroundImage.ToString() , но это дает System.Drawing.Bitmap вместо Resources._1 , как я думал (в этом случае я мог бы просто получить последний символ и включить его, чтобы изменить фон на соответствующее новое изображение).
Спасибо за вашу помощь.
Собеседование по работе в .net
Завтра у меня собеседование по поводу работы в магазине .NET. В течение последних нескольких лет я развивался на языках, отличных от .NET, и считаю, что это, вероятно, хорошая идея, чтобы освежить то, что круто и Ново в мире .NET. Я читал о LINQ и WPF, но это больше технологии, чем тенденции. А на что еще мне смотреть?
Читал такие вещи, как:
- http://msdn.microsoft.com/en-us/library/bb332048.aspx
- http://msdn.microsoft.com/en-us/library/ms754130.aspx
Редактировать
Как оказалось, это интервью было на высоком уровне, и мы не очень-то вдавались в детали, которые были более специфичны, чем дженерики.
Что это лучший способ, чтобы выполнить итерации через строго типизированный общего списка?
Как лучше всего перебирать строго типизированный универсальный список в C#.NET и VB.NET?
UltraWebGrid: как использовать раскрывающийся список в столбце
Я использую сетку Infragistics, и мне трудно использовать раскрывающийся список в качестве селектора значений для одного из моих столбцов.
Я пробовал читать документацию, но Infragistics ' документация не так хороша. Я также взглянул на эту дискуссию , но безрезультатно.
Что я делаю до сих пор:
col.Type = ColumnType.DropDownList;
col.DataType = "System.String";
col.ValueList = myValueList;
где myValueList это:
ValueList myValueList = new ValueList();
myValueList.Prompt = "My text prompt";
myValueList.DisplayStyle = ValueListDisplayStyle.DisplayText;
foreach(MyObjectType item in MyObjectTypeCollection)
{
myValueList.ValueItems.Add(item.ID, item.Text); // Note that the ID is a string (not my design)
}
Когда я смотрю на страницу, Я ожидаю увидеть раскрывающийся список в ячейках для этого столбца, но мои столбцы пусты.
Установка главной страницы ASP.NET во время выполнения
Я работаю над сайтом, который должен поддерживать два или более вида, изменяемых во время выполнения. Я надеялся, что смогу справиться с изменением с помощью переключателя CSS, но, похоже, мне придется использовать другую мастер-страницу для каждого дизайна.
Итак, как лучше всего установить мастер-страницу во время выполнения? Page.MasterPageFile можно задать только в событии Page.OnPreInit. Похоже, что решения состоят в том, чтобы сделать все мои страницы наследуемыми от общей базы, которая обрабатывает событие PreInit, или использовать HttpModule, который это делает.
Какой-нибудь совет?
Есть ли у кого-нибудь реальный опыт работы с CSLA?
Главное веб-приложение моей компании взывает к хорошему набору библиотек, чтобы сделать его каким-то образом доступным и масштабируемым, и один из моих коллег предложил CSLA. Так что я купил книгу, но как :
программисты больше не читают книг
Я хотел оценить мнение сообщества SOFlow об этом.
Итак вот мои вопросы:
- Как люди могут использовать CSLA?
- Какие есть плюсы и минусы?
- Действительно ли CSLA не вписывается в TDD?
- Какие у меня есть альтернативы?
- Если вы перестали его использовать или решили отказаться от него, то почему?
Структура данных старения в C#
Мне нужна структура данных, которая позволит запрашивать, сколько элементов за последние X минут . Элемент может быть просто простым идентификатором или более сложной структурой данных, предпочтительно timestamp элемента будет находиться в элементе, а не храниться снаружи (как hash или аналогичный, не хотелось бы иметь проблемы с несколькими элементами, имеющими одинаковый timestamp).
До сих пор кажется, что с LINQ я мог бы легко фильтровать элементы с timestamp больше, чем заданное время и агрегировать количество. Хотя я не решаюсь попробовать работать .NET 3.5 конкретных вещей в моей производственной среде пока нет. Есть ли другие предложения для подобной структуры данных?
Другая часть, которая меня интересует, - это устаревание старых данных, если я буду запрашивать количество элементов менее 6 часов назад, я бы хотел, чтобы что-то более старое было удалено из моей структуры данных, потому что это может быть длительная программа.
Как мне избавиться от Home в ASP.Net MVC?
Я знаю, что этот сайт написан с использованием ASP.Net MVC, и я не вижу "/ Home " в url. Это доказывает мне, что это можно сделать. Какой специальный маршрут и нужен ли он мне?
Как отследить проблемы с производительностью при рендеринге страниц?
Мне было поручено улучшить производительность приложения ASP.NET 2.0 .
Страница, на которой я в настоящее время сосредоточен, имеет много проблем, но у меня возникли проблемы с копанием-это время рендеринга страницы. Использование Trace.axd длительность между началом и окончанием рендеринга составляет 1.4 секунд. Из MSDN я вижу, что
Все серверные элементы управления ASP.NET имеют Метод визуализации, который записывает элемент управления markup, который отправляется в браузер.
Если бы у меня был исходный код для всех элементов управления на странице, Я бы просто использовал их для trace из их времени рендеринга. К сожалению, эта конкретная страница имеет множество элементов управления, большинство из которых сторонние. Есть ли инструмент или техника, чтобы получить лучшую видимость того, что происходит во время рендеринга? Я хотел бы знать, есть ли особенно плохо выполняющийся элемент управления, или если на странице просто слишком много элементов управления.
Практическое применение System.WeakReference
Я понимаю, что делает System.WeakReference , но то, что я не могу понять, - это практический пример того, для чего он может быть полезен. Сам класс мне кажется, ну, в общем, халтурой. Мне кажется, что есть и другие, лучшие способы решения проблемы, когда в примерах, которые я видел, используется WeakReference. Каков канонический пример того, где вы действительно должны использовать WeakReference? Разве мы не пытаемся уйти дальше от такого типа поведения и использования этого класса?
Стоит ли таргетировать профиль клиента .NET?
Я недавно изучал таргетинг профиля клиента .NET для приложения WPF, которое я создаю. Однако я был разочарован, заметив, что профиль клиента действителен только для следующих конфигураций OS:
- Windows XP С ПАКЕТОМ ОБНОВЛЕНИЯ 2+
Windows Server 2003Edit: отображается профиль клиента, который не будет установлен на Windows Server 2003.
Кроме того, профиль клиента недопустим для версий x64 или ia64, а также не будет установлен, если была установлена любая предыдущая версия платформы .NET .
Мне интересно, стоят ли усилия по добавлению дополнительных конфигураций OS в матрицу тестирования этих усилий. Существуют ли какие-либо доступные метрики, указывающие процент пользователей, которые могли бы извлечь выгоду из профиля клиента? Я считаю, что после установки фреймворка .NET дополнительная информация передается на веб-сервер как часть веб-запроса, означающего, что фреймворк доступен. Конечно, я бы предположил, что пользователи Windows XP SP2 без установленного фреймворка .NET будут большим количеством людей. Тогда встанет вопрос о том, было ли мое заявление адресовано именно этим лицам.
Кто-нибудь еще определил, стоит ли тратить дополнительные усилия на этих конкретных пользователей?
Edit: похоже, что можно получить предупреждение компилятора, если вы используете функции, не включенные в профиль клиента. Поскольку я обычно запускаю предупреждения как ошибки, этого, надеюсь, будет достаточно, чтобы свести к минимуму тестирование в этой конфигурации. Конечно, эту конфигурацию все равно нужно будет протестировать, но она должна быть такой же простой, как тестирование, если установка/начальный запуск работает на XP с SP2+.
Конфигурация среды выполнения в .Net (в частности, EntLib)
Я ищу способ настроить соединение DB во время выполнения; в частности, используя корпоративную библиотеку. Я вижу, что есть *.Data.Configuration (или что-то близкое к этому ... не помню с головы) assembly но я не нахожу много на паутине. Усложняет дело тот факт, что API справка сломана на Vista.
Теперь, я нашел эту работу-вокруг:
Configuration cfg = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
ConnectionStringSettings connection = new ConnectionStringSettings();
connection.Name = "Runtime Connection";
connection.ProviderName = "System.Data.OleDb";
connection.ConnectionString = "myconstring";
cfg.ConnectionStrings.ConnectionStrings.Add(connection);
cfg.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("connectionStrings");
var runtimeCon = DatabaseFactory.CreateDatabase("Runtime Connection");
И хотя он дает мне то, что я хочу, он постоянно редактирует App.config. Конечно, я могу вернуться и удалить изменения, но я бы предпочел не проходить через эту проблему.
Проблемы с дизайном .Чистый Элемент Управления UserControl
Я создал UserControl, который имеет ListView в нем. ListView является общедоступным, хотя свойство. Когда я помещаю UserControl в форму и пытаюсь создать ListView , хотя свойство, ListView остается таким образом, пока я снова не скомпилирую, и он возвращается к состоянию по умолчанию.
Как я могу получить мои изменения дизайна, чтобы придерживаться для ListView ?
Как автоматизировать повторяющиеся задачи после сборки?
Я запускаю решение для веб-сайта ASP.NET с несколькими другими проектами в нем. Я знаю, что проекты MSBuild способны на это, но разве это лучший способ? Легко ли их создать? Является ли nAnt, CruiseControl.NET или любое другое решение лучше?
Когда я создаю сайт (используя Web Deployment проекты ), могу ли я автоматизировать часть сборки, чтобы она не копировала определенные папки из проекта в папку выпуска? Например, у меня есть папки с локальными поисковыми индексами, изображениями и другими содержательными частями папки, но они никогда не нужны и не загружаются при развертывании проекта.
Я также рассматриваю этот тип решения для автоматического увеличения номеров сборки и версий.
401   7   11:07, 1st August, 2020
Минимизировать javascript HTTP вызовов из AjaxControlToolkit элементов управления?
Мне нравится простота, которую предоставляет инструментарий управления ASP.NET Ajax для разработчиков ASP.NET. Однако я не нашел, что это вообще масштабируемое решение. У меня есть страница с 2 полями ввода даты. Помещая в него элемент управления TextBox и CalendarExtendar для каждого поля даты, я получаю несколько (11, по сути) внешних вызовов Javascript в /ScriptResource.axd?d=xxxx
Есть ли способ контролировать это? Почему это так отстойно? Для чего нужен лучший инструментарий Ajax .NET что может обеспечить равный (или лучший) набор функций, который является более масштабируемым, прямым и полностью настраиваемым? NOT глядя, чтобы изобрести колесо здесь.
Чтение Excel файлов из C#
Есть ли свободная или открытая библиотека для чтения файлов Excel (.xls) непосредственно из программы C#?
Он не должен быть слишком причудливым, просто выберите лист и считайте данные в виде строк. До сих пор я использовал функцию Export to Unicode text из Excel и анализировал полученный файл (разделенный табуляцией), но я хотел бы исключить ручной шаг.
Диаграммы сущностей в ASP.NET MVC
Каков наилучший способ / инструмент для отображения хороших диаграмм с отношениями сущностей в представлениях ASP MVC?
т. е. серверы и приложения, или серверы с другими серверами.
Есть ли какие-либо сторонние инструменты, которые могут это сделать?
Я искал вокруг таких вещей, как Telerik, но это действительно трудно google для этого!
LocationProvider
Нам нужно заменить систему меню в нашем главном приложении ASP.NET. Поэтому, естественно, мы смотрим на элементы управления ASP.NET SiteMapProvider и Menu . Однако нам также нужна достаточная безопасность, чтобы запретить пользователям напрямую вводить URLs, к которому они не должны иметь доступа. Мы можем сделать это, поместив <location> записей в web.config и защищая их по отдельности, но это будет PITA для управления несколькими веб-серверами.
Есть ли Provider , который можно использовать, чтобы обеспечить эквивалент <location> записей? Я не смог найти его, и это немного расстраивает, учитывая существование класса ConfigurationLocation .
Кроме того, есть ли опция конфигурации, которую мы пропускаем в SiteMapProvider, которая ограничит пользователей от получения до URLs, они не должны?
Как конвертировать путь к файлу в формат URL в ASP.NET
В принципе, у меня есть некоторый код для проверки определенного каталога, чтобы увидеть, есть ли изображение, и если да, то я хочу назначить URL образу ImageControl.
if (System.IO.Directory.Exists(photosLocation))
{
string[] files = System.IO.Directory.GetFiles(photosLocation, "*.jpg");
if (files.Length > 0)
{
// TODO: return the url of the first file found;
}
}
Как применить несколько стилей в WPF
В WPF, как бы я применил несколько стилей к FrameworkElement ? Например, у меня есть элемент управления, который уже имеет стиль. У меня также есть отдельный стиль, который я хотел бы добавить к нему, не сдувая первый. Стили имеют разные TargetTypes, поэтому я не могу просто расширить один с другим.
Лучший Способ Определить, Установлен Ли .NET 3.5
Мне нужно программно определить, установлен ли .NET 3.5. Я думал, что это будет легко:
<% Response.Write(Environment.Version.ToString()); %>
Который возвращает "2.0.50727.1434", так что нет такой удачи...
В своем исследовании я обнаружил, что есть некоторые довольно неясные ключи реестра, которые я могу посмотреть, но я не уверен, что это тот путь, по которому нужно идти. У кого-нибудь есть какие-нибудь предложения?
Web App-Тип Панели Мониторинга GUI-Интерфейс
Я ищу, чтобы создать графический интерфейс типа панели мониторинга для веб-приложения. Я ищу, чтобы пользователь мог перетаскивать различные элементы (возможно, кнопки изображений, теги привязки или, возможно, просто divs) в разные (определенные) места и сохранять их настройки (в файле cookie или на сервере). Я работаю с c# в .Чистый рамках 2.0. Я пробовал использовать mootools, но их недавнее обновление оставило их возможности перетаскивания бесполезными для меня. Я ищу немного направления, потому что я знаю, что там есть что-то, что я ищу, поэтому мне не придется строить с нуля.
Спасибо.
Как я могу обрабатывать поток страниц в MVC (в частности asp.net)
Если бы вам пришлось предоставить мастер, такой как опыт ввода формы в mvc, как бы вы абстрагировали поток страниц?
Создать таблицу DB из таблицы набора данных
Можно ли (в Vb.Net 2005), не разбирая вручную свойства таблицы dataset, создать таблицу и добавить ее в базу данных?
У нас есть старые версии нашей программы На некоторых машинах, которые, очевидно, имеют нашу старую базу данных, и мы ищем способ определить, есть ли отсутствующая таблица, а затем создать таблицу на основе текущего состояния таблицы в наборе данных. Мы переписывали таблицу каждый раз, когда выпускали новую версию (если были добавлены новые столбцы), но мы хотели бы избежать этого шага, если это возможно.
Вызов .NET веб-службы (WSE 2/3, WS-Security) из Java
Мне нужно позвонить в веб-сервис, написанный на .NET из Java. Веб-служба реализует стек WS-Security (либо WSE 2, либо WSE 3, это не ясно из имеющейся у меня информации).
Информация, которую я получил от поставщика услуг, включала WSDL, файл policyCache.config, некоторый пример кода C# и пример приложения, которое может успешно вызвать службу.
Это не так полезно, как кажется, потому что не ясно, как я должен использовать эту информацию для написания клиента Java. Если запрос веб-службы не подписан в соответствии с политикой, то он отклоняется службой. Я пытаюсь использовать Apache Axis2 и не могу найти никаких инструкций, как я должен использовать файл policyCahce.config и WSDL для создания клиента.
Есть несколько примеров, которые я нашел в интернете, но во всех случаях авторы примеров имели контроль как над сервисом, так и над клиентом, и поэтому смогли сделать настройки с обеих сторон, чтобы заставить его работать. Я не нахожусь в таком положении.
Кто-нибудь сделал это успешно?
Удаление N элементов из списка условно
Я писал некоторый элемент управления ASP.NET , когда пришел к сценарию, в котором мне нужно было удалить элементы из списка, только когда они соответствовали определенному условию.
Метод RemoveAll универсального класса List выполняет хорошую работу, но удаляет все элементы, соответствующие условию, указанному предикатом.
Что делать, если я хочу удалить только определенное количество элементов, определяющих условие? Как вы думаете, как лучше всего это сделать?
Лучший инструмент для сборки .NET
Возможный Дубликат:
NAnt или MSBuild, какой из них выбрать и когда?
Возможный Дубликат:
NAnt или MSBuild, какой из них выбрать и когда?
Что является лучшим инструментом сборки для .NET ?
В настоящее время я использую NAnt , но только потому, что у меня есть опыт работы с Ant . Предпочтительнее ли MSBuild ?
VS.NET Схемы Применения
Использовали ли вы схемы приложений и систем VS.NET Architect Edition для начала разработки решения?
Если да, то нашли ли вы его полезным? Функция "automatic implementation" работала нормально?
Как вы справляетесь с ошибками транспортного уровня в SqlConnection?
Время от времени в высокообъемном приложении .NET вы можете видеть это исключение при попытке выполнить запрос:
System.Data.SqlClient.SqlException: ошибка транспортного уровня имеет произошел при отправке запроса на сервер.
Согласно моим исследованиям, это то, что "just happens" и не так много можно сделать, чтобы предотвратить это. Это не происходит в результате неправильного запроса и, как правило, не может быть продублировано. Он просто появляется, возможно, один раз в несколько дней в занятой системе OLTP, когда соединение TCP с базой данных по какой-то причине портится.
Я вынужден обнаружить эту ошибку, проанализировав сообщение об исключении, а затем повторить всю операцию с нуля, чтобы включить использование нового соединения. Все это не очень красиво.
У кого-нибудь есть альтернативные решения?
ArgumentNullException для целого числа
В.NET, является ли более подходящим исключение аргумента null для целого числа, если значение равно Integer.MinValue или Integer = 0 (при условии, что 0 не является допустимым значением)?
Создание временных папок
Я работаю над программой, которая должна создать несколько временных папок для приложения. Они не будут видны пользователю. Приложение написано на языке VB.net. Я могу придумать несколько способов сделать это, таких как инкрементное имя папки или случайные нумерованные имена папок, но мне было интересно, как другие люди решают эту проблему?
OpenID аутентификация в ASP.NET?
Я начинаю создавать новое веб-приложение, которое потребует учетных записей пользователей. Теперь, когда у меня есть OpenID, который я использую для этого сайта, я подумал, что было бы здорово, если бы я мог использовать OpenID для аутентификации в своем приложении. Есть ли какие-нибудь хорошие учебники о том, как интегрировать OpenID с сайтом ASP.NET?
Как лучше всего реализовать проверку полей с помощью ASP.NET MVC?
Я создаю общедоступный веб-сайт с использованием ASP.NET, в качестве части результата мне нужно сделать сайт администратора для ввода данных из материала, показанного на общедоступном сайте, мне было интересно, какие методы или процедуры используют люди для проверки записей с использованием ASP.NET MVC.
PHPs htmlspecialcharacters эквивалент в .NET?
PHP имеет отличную функцию под названием htmlspecialcharacters() , где вы передаете ей строку, и она заменяет все специальные символы HTML их безопасными эквивалентами, это почти один магазин для очистки ввода. Очень мило, правда?
Ну есть ли эквивалент в любой из библиотек .NET?
Если нет, то может ли кто-нибудь ссылаться на любые примеры кода или библиотеки, которые делают это хорошо?
Как загрузить и извлечь gzipped файл с C#?
Мне нужно периодически скачивать, извлекать и сохранять содержимое http://data.dot.state.mn.us/dds/det_sample.xml.gz на диск. У кого-нибудь есть опыт загрузки gzipped файлов с C#?
Кто на самом деле использует DataGrid/GridView/FormView/etc в производственных приложениях?
Любопытно, чувствуют ли другие то же самое, что и я. Для меня такие элементы управления, как datagrid/gridview/formview/etc. отлично подходят для презентаций или только демо-версии. Чтобы занять время и настроить эти элементы управления, переопределите их поведение по умолчанию (подключение к их глупым событиям и т. д.) - это большая головная боль. Единственный элемент управления, который я использую, - это ретранслятор, поскольку он обеспечивает мне наибольшую гибкость по сравнению с другими.
Короче говоря, они довольно сильно раздуваются.
Я бы предпочел создать свой собственный html/css,, используя свои собственные пользовательские запросы подкачки.
Опять же, если вам нужно быстро открыть страницу, эти элементы управления отлично подходят (особенно если вы пытаетесь привлечь людей к легкости разработки .NET ).
Я должен быть в меньшинстве, иначе MS не посвятил бы столько времени разработке этих типов управления...
Создание собственной таблицы с кнопками CommandArgument в ASP.NET MVC
Я пытаюсь реализовать что-то вроде этого:
<div>
<table>
<thead>
<tr>
<td>Port name</td>
<td>Current port version</td>
<td>New port version</td>
<td>Update</td>
</tr>
</thead>
<% foreach (var ip in Ports) { %>
<tr>
<td>
<%= ip.PortName %>
</td>
<td>
<%= ip.CurrentVersion %>
</td>
<td>
<%= ip.NewVersion %>
</td>
<td>
<asp:Button ID="btnUpdate" runat="server" Text="Update" CommandArgument="<% ip.PortName %>" />
</td>
</tr>
<% } %>
</table>
</div>
Свойство CommandArgument кнопки-это то, где мой код жалуется на то, что не может разрешить символ ip . Есть ли способ сделать то, что я пытаюсь сделать?
Чтение ответа "chunked" с помощью HttpWebResponse
У меня возникли проблемы с чтением ответа "chunked" при использовании StreamReader для чтения потока, возвращенного GetResponseStream() из HttpWebResponse:
// response is an HttpWebResponse
StreamReader reader = new StreamReader(response.GetResponseStream());
string output = reader.ReadToEnd(); // throws exception...
Когда вызывается метод reader.ReadToEnd() , я получаю следующее System.IO.IOException: не удалось прочитать данные из транспортного соединения: соединение было закрыто.
Приведенный выше код отлично работает, когда сервер возвращает ответ "non-chunked".
Единственный способ, которым я смог заставить его работать, - это использовать HTTP/1.0 для первоначального запроса (вместо HTTP/1.1, по умолчанию), но это кажется неубедительным обходом.
Есть какие-нибудь идеи?
@Chuck
Ваше решение работает довольно хорошо. Он все еще бросает тот же самый IOExeception на последний Read(). Но после проверки содержимого StringBuilder похоже, что все данные были получены. Так что, возможно, мне просто нужно завернуть Read() в пробный улов и проглотить "error".
Как выполнить синтаксический анализ и конвертировать DateTime в формат даты-времени RFC 3339?
Как преобразовать структуру DateTime в ее эквивалент RFC 3339 форматированного строкового представления и / или проанализировать это строковое представление обратно в структуру DateTime? Формат даты-времени RFC-3339 используется в ряде спецификаций, таких как формат синдикации Atom.
Как лучше всего использовать gzip и кэшировать статические изображения в Asp.net mvc
Я пытаюсь найти лучший способ ускорить доставку статических изображений, которые составляют дизайн сайта mvc. Изображения не являются gzipped, а также не кэшируются на сервере или на клиенте (с истекшим содержимым). Варианты есть:
- Найдите, почему изображения не кэшируются и не gzipped напрямую из IIS6
- Напишите специализированный обработчик http
- Зарегистрировать специальный маршрут для статических изображений и написать actionresult метод двойных
Что может быть лучшим решением с точки зрения производительности?
Экранирование содержимого тега XML
У меня есть простой запрос CAML, как
<Where><Eq><Field="FieldName"><Value Type="Text">Value text</Value></Field></Eq></Where>
И у меня есть переменная, чтобы заменить Value text . Как лучше всего проверить / экранировать текст, который подставляется здесь в фреймворке .NET?
Я сделал быстрый поиск в интернете по этой проблеме, но все, что я нашел, было System.Xml.Convert класс, но это, кажется, не совсем то, что мне нужно здесь.
Я знаю, что мог бы пойти с XmlWriter здесь, но кажется, что много кода для такой простой задачи, где мне просто нужно убедиться, что часть Value text хорошо отформатирована.
Каков наилучший способ аутентификации через WCF?
Каков наилучший способ реализации аутентификации через WCF?
Я бы предпочел не использовать WS-*, поскольку он должен быть независимым от транспорта.
Должен ли я "свернуть свой собственный"? Есть ли какие-либо рекомендации для этого (articles/blog сообщений)?
Или есть какой-то способ (и должен ли я) использовать встроенные поставщики членства и профилей ASP.NET на стороне сервера?
С чего начать CruiseControl.NET
Я настраиваю систему управления версиями моей команды + процесс сборки / интеграции с нуля. Мы использовали VSS и инструмент, который мы создали самостоятельно для выполнения процесса сборки. Мы решили перейти к более современным условиям. У меня работает SVN, и я хотел бы установить непрерывный процесс интеграции с CruiseControl.NET. Есть ли хорошее руководство step-by-step starter, которое поможет мне начать работу с лучшими практиками этого инструмента?
Каковы реальные применения yield в реальной жизни?
Я знаю, что делает yield , и я видел несколько примеров, но я не могу думать о реальных приложениях, вы использовали его для решения какой-то конкретной проблемы?
(В идеале какая-то проблема, которая не может быть решена каким-то другим способом)
Когда использовать IList и когда использовать список
Я знаю, что IList-это интерфейс, а List-конкретный тип, но я все еще не знаю, когда использовать каждый из них. То, что я делаю сейчас, если мне не нужны методы Sort или FindAll, я использую интерфейс. Разве я не прав? Есть ли лучший способ решить, когда использовать интерфейс или конкретный тип?
Каков ваш главный запрос на функцию Silverlight?
Я уберу здесь очевидное: микрофон и поддержка webcam. Кроме этого, если бы вы управляли командой Silverlight, то каким был бы ваш самый высокий приоритет для Silverlight v.Next?
Отказ от ответственности: если мы получим несколько хороших ответов, я передам их людям, которых я знаю в команде Silverlight.
UPDATE: лучшее место, чтобы сообщить о Silverlight запросах функций сейчас-это сайт UserVoice: http://silverlight.uservoice.com/
Приватизация установки BlogEngine.Net
У меня есть установка blogengine.net, которая требует приватизации.
В данный момент я занимаюсь исследовательской работой, но я должен держать свой блог/журнал в секрете, пока не будут выполнены определенные условия.
Как я могу приватизировать свою установку blogEngine.net, чтобы читатели должны были войти в систему, чтобы прочитать мои сообщения?
Почему DispatcherObject.CheckAccess() и VerifyAccess() скрыты от Intellisense?
Класс System.Windows.Threading.DispatcherObject (на основе которого основан класс DependencyObject ) содержит полезную функцию CheckAccess(), которая определяет , выполняется ли код в потоке UI.
Когда я хотел использовать его вчера, я был озадачен, узнав , что Intellisense не показывает функцию (ни VerifyAccess(), которая вызывает исключение, когда она не находится в потоке UI), хотя библиотека MSDN перечисляет ее. Я решил исследовать класс с помощью рефлектора. Похоже, что рассматриваемая функция имеет атрибут EditorBrowsable(EditorBrowsableState.Never) , прикрепленный к ней. Класс Dispatcher , используемый DispatcherObject, имеет тот же атрибут, что и CheckAccess() и VerifyAccess() :
public abstract class DispatcherObject
{
// ...
[EditorBrowsable(EditorBrowsableState.Never)]
public bool CheckAccess();
[EditorBrowsable(EditorBrowsableState.Never)]
public void VerifyAccess();
// ...
[EditorBrowsable(EditorBrowsableState.Advanced)]
public Dispatcher Dispatcher { get; }
}
public sealed class Dispatcher
{
// ...
[EditorBrowsable(EditorBrowsableState.Never)]
public bool CheckAccess();
[EditorBrowsable(EditorBrowsableState.Never)]
public void VerifyAccess();
// ...
}
Я не верю, что применение этого атрибута является случайным (или шуткой), поэтому мой вопрос: почему он существует? Не следует ли эти методы вызывать напрямую? Тогда почему они не protected (или internal , как некоторые из самых полезных методов в WPF)?
ASP.NET Пользовательские Элементы Управления-Композиты
Резюме
Привет Всем,
OK, далее в мои приключения с пользовательскими элементами управления...
В общем, вот что я узнал о трех основных "classes" пользовательских элементах управления. Пожалуйста, не стесняйтесь поправлять меня, если что-то из этого неправильно!
- UserControls -которые наследуются от UserControl и содержатся в файле ASCX . Они довольно ограничены в том, что они могут сделать, но это быстрый и легкий способ получить некоторую общность UI с поддержкой дизайнера.
- Пользовательские составные элементы управления -это элементы управления, которые наследуются от WebControl , где вы добавляете ранее существующие элементы управления к элементу управления в методе CreateChildControls. Это обеспечивает большую гибкость, но отсутствие поддержки дизайнера без дополнительного кодирования. Они очень портативны, хотя, поскольку их можно скомпилировать в DLL.
- Пользовательские визуализированные элементы управления -подобно пользовательским составным элементам управления, они добавляются в проект Библиотеки веб-элементов управления. Рендеринг элемента управления полностью контролируется программистом путем переопределения метода рендеринга .
свои мысли..
OK, поэтому, играя с пользовательскими композитами, я обнаружил следующее:
- У вас мало/нет контроля над выходом HTML, что затрудняет "debug".
- CreateChildControls (и последующие методы) могут быть действительно заняты Controls.Add(myControl) везде.
- Я обнаружил, что таблицы рендеринга (будь то для макета или контента) значительно неудобны.
Вопрос(ы)..
Итак, я признаю, что я новичок в этом, поэтому я мог бы быть далеко от базы с некоторыми из моих пунктов, отмеченных выше..
- Вы используете композиты?
- Есть ли у вас какие-нибудь аккуратные трюки, чтобы контролировать выход HTML?
- Вы просто говорите "to hell with it" и идете дальше и создаете пользовательский визуализированный элемент управления?
Это то, что я очень хочу получить действительно твердым в своем уме, так как я знаю, насколько хорошее развитие контроля может сократить общее время разработки.
Я с нетерпением жду ваших ответов ^_^
Запрос Windows Vista UAC высоты, если путь защищен?
Для моего приложения C# я не хочу всегда запрашивать повышение прав при запуске приложения,но если они выбирают выходной путь, который защищен UAC, то мне нужно запросить повышение прав.
Итак, как я могу проверить, защищен ли путь UAC, а затем запросить повышение высоты в середине выполнения?
Члены Общественного интерфейсов C#
В C#, при реализации интерфейса все члены являются неявно открытыми. Не было бы лучше , если бы мы могли указать модификатор доступности ( protected , internal, кроме private , конечно), Или мы должны просто использовать абстрактный класс вместо этого?
Получение имени компьютера клиента? (Windows авт)
У меня есть приложение ASP.net, которое работает во внутренней сети (Ну, на самом деле он работает на Sharepoint 2007).
Мне просто интересно:
Могу ли я каким-то образом получить имя PC, которое использует клиент?
У меня будет доступ к Active Directory, если это поможет.
Дело в том, что люди используют несколько PCs, поэтому я не могу использовать ручное/статическое отображение.
Если возможно, я не хочу использовать какой-либо код на стороне клиента (читай: JavaScript), но если это невозможно сделать на стороне сервера, JavaScript также будет OK.
(ActiveX абсолютно исключено)
Почему Guid.ToString() меняет порядок байтов на обратный?
Мы храним некоторые Guid в базе данных MS SQL. Есть какой-то устаревший код, который делает Guid.ToString() , а затем передает их в varchar(64) , и есть какой-то новый код, который передает их с помощью параметра уникального идентификатора. Когда вы смотрите на результаты с помощью MS SQL Management studio, они выглядят по-другому. Порядок байтов первых трех блоков меняется на противоположный, но последний остается тем же самым. Почему?
Большие, сложные объекты как результат работы веб-службы
Еще раз здравствуйте, дамы и господа!
OK, вслед за моим другим вопросом о результатах веб-службы ASP.NET, Прокси-классах и преобразовании типов . Я пришел к той части своего проекта, где мне нужно надеть свою мыслительную шапочку.
В принципе, у нас есть большой, сложный пользовательский объект, который должен быть возвращен из веб-службы и использован в клиентском приложении.
Теперь, основываясь на предыдущем обсуждении, мы знаем, что это будет затем принимать форму прокси-класса(классов) в качестве возвращаемого типа. Чтобы преодолеть это, нам нужно в основном скопировать свойства от одного к другому.
В данном случае, это то, что я бы очень, очень, очень хотел! хотелось бы избежать!
Так что, это заставило меня задуматься, как еще мы могли бы это сделать?
Мои текущие мысли заключаются в том, чтобы включить объект для полной сериализации в XML, а затем вернуть XML в виде строки из веб-службы. Затем мы десериализации на клиенте. Это будет означать изрядную часть украшения атрибутов, но, по крайней мере, код на обеих конечных точках будет легким, а именно, просто используя сериализатор .NET XML.
Что вы думаете по этому поводу?
Кто-нибудь знает быстрый способ добраться до пользовательских атрибутов по значению enum?
Это, вероятно, лучше всего показать на примере. У меня есть перечисление с атрибутами:
public enum MyEnum {
[CustomInfo("This is a custom attrib")]
None = 0,
[CustomInfo("This is another attrib")]
ValueA,
[CustomInfo("This has an extra flag", AllowSomething = true)]
ValueB,
}
Я хочу добраться до этих атрибутов из экземпляра:
public CustomInfoAttribute GetInfo( MyEnum enumInput ) {
Type typeOfEnum = enumInput.GetType(); //this will be typeof( MyEnum )
//here is the problem, GetField takes a string
// the .ToString() on enums is very slow
FieldInfo fi = typeOfEnum.GetField( enumInput.ToString() );
//get the attribute from the field
return fi.GetCustomAttributes( typeof( CustomInfoAttribute ), false ).
FirstOrDefault() //Linq method to get first or null
as CustomInfoAttribute; //use as operator to convert
}
Так как это использует отражение, я ожидаю некоторую медлительность, но это кажется беспорядочным, чтобы преобразовать значение enum в строку (которая отражает имя), когда у меня уже есть его экземпляр.
У кого-нибудь есть лучший способ?
Предупреждение C4341-'XX': знаковое значение выходит за пределы диапазона для константы перечисления
При компиляции моего приложения C++ .Net я получаю 104 предупреждения типа:
Warning C4341 - 'XX': signed value is out of range for enum constant
Где XX может быть
- WCHAR
- LONG
- BIT
- BINARY
- GUID ...
Я не могу удалить эти предупреждения, что бы я ни делал. Когда я дважды нажимаю на них, это приводит меня к части моего кода, которая использует OdbcParameters-любой, когда я пробую тестовый проект со всеми rest моих вещей, но нет OdbcParameters, он не дает предупреждений.
Есть идеи, как я могу избавиться от этих предупреждений? Они делают реальные предупреждения из кода, который я на самом деле написал трудно увидеть - и это просто дает мне ужасное чувство, зная, что мое приложение имеет 104 предупреждения!
Получение адреса удаленного имени (не IP)
Я хотел показать адрес имени пользователя (см. www.ipchicken.com), но единственное, что я могу найти, - это IP-адрес. Я попробовал обратный поиск, но тоже ничего не вышло:
IPAddress ip = IPAddress.Parse(this.lblIp.Text);
string hostName = Dns.GetHostByAddress(ip).HostName;
this.lblHost.Text = hostName;
Но HostName - это то же самое, что и адрес IP.
Кто знает, что мне нужно сделать?
Спасибо. Болтливость.
Предупреждение: обнаружены конфликты между разными версиями одного и того же зависимого assembly
В настоящее время я разрабатываю приложение .NET, которое состоит из 20 проектов. Некоторые из этих проектов компилируются с использованием .NET 3.5, некоторые другие все еще являются .NET 2.0 проектами (пока никаких проблем).
Проблема в том, что если я включаю внешний компонент, то всегда получаю следующее предупреждение:
"Found conflicts between different versions of the same dependent assembly".
Что именно означает это предупреждение и есть ли возможность исключить это предупреждение (например, используя #pragma disable в файлах исходного кода)?
Есть ли рекомендации для легких .net Win форм HTML элементов управления рендерером?
Пытаясь избежать управления .net WebBrowser (мне не нужно переходить к url, печатать визуализированные html или любые другие встроенные лакомства). Обертывание IE dll кажется немного тяжеловесным.
Мне просто нужно что - то, что может отображать основной html помеченный текст-эквивалент html RichTextBox в действительности. У кого-нибудь есть опыт / рекомендации / военные истории?
Автоматизация WSDL.exe в пользовательской сборке
У меня есть веб-приложение, написанное в C#, которое потребляет несколько внутренних веб-служб. У нас есть уровень разработки, уровень тестирования и производственный уровень. Кроме того, мы используем команду WSDL.exe для создания файла Proxies.cs для веб-служб данного уровня.
Когда мы готовы развернуть наш код в стеке от разработки до тестирования или от тестирования до производства, нам нужно выполнить команду WSDL.exe , чтобы указать соответствующую версию веб-служб.
Есть ли общепринятый способ автоматизировать это?
Рекомендации для компонента .NET для доступа к папке входящих сообщений email
Меня попросили написать службу Windows в C#, чтобы периодически отслеживать входящие сообщения email и вставлять сведения о любых полученных сообщениях в таблицу базы данных.
Мой инстинкт состоит в том, чтобы сделать это через POP3, и, конечно же, поиск в Google для "компонента .NET POP3" приводит к бесчисленным (ОК, 146 000) результатам.
Кто-нибудь делал что-то подобное раньше, и вы можете порекомендовать достойный компонент, который не сломает банк (максимум несколько сотен долларов)?
Есть ли какие-то преимущества в использовании IMAP вместо POP3?
Запретить проглатывание исключений элементом управления WebBrowser
Я использую System.Windows.Forms.WebBrowser, чтобы сделать представление a-la начальной страницы Visual Studio. Однако, похоже, что элемент управления ловит и обрабатывает все исключения, молча погружая их! Не нужно говорить, что это очень неудачное поведение.
void webBrowserNavigating(object sender, WebBrowserNavigatingEventArgs e)
{
// WebBrowser.Navigating event handler
throw new Exception("OMG!");
}
Приведенный выше код отменит навигацию и проглотит исключение.
void webBrowserNavigating(object sender, WebBrowserNavigatingEventArgs e)
{
// WebBrowser.Navigating event handler
try
{
e.Cancel = true;
if (actions.ContainsKey(e.Url.ToString()))
{
actions[e.Url.ToString()].Invoke(e.Url, webBrowser.Document);
}
}
catch (Exception exception)
{
MessageBox.Show(exception.ToString());
}
}
Итак, то, что я делаю (выше), - это поймать все исключения и открыть окно, это лучше, чем молча терпеть неудачу, но все же явно далек от идеала. Я бы хотел, чтобы он перенаправлял исключение через обычный путь сбоя приложения, чтобы оно в конечном итоге становилось необработанным или обрабатывалось приложением из корня.
Есть ли способ сказать элементу управления WebBrowser , чтобы остановить потопление исключений и просто переслать их естественным и ожидаемым способом? Или есть какой-то хакерский способ бросить исключение через родные границы?
Изменение Круиза Control.NET
Мы исследуем использование CruiseControl.NET в качестве поставщика сборки непрерывной интеграции, а также автоматизируем первую часть нашего процесса deployment.
Кто-нибудь изменил панель мониторинга CruiseControl.NET's, чтобы добавить пользовательские роли входа и пользователя (IE, отдельный доступ к принудительной сборке только для определенных людей на основе каждого проекта?
Панель мониторинга-это приложение .NET, но я считаю, что он использует движок представления nVelocity вместо веб-форм, с которыми у меня нет опыта.
Можете ли вы смешать nVelocity и Webforms,или мне нужно потратить день на изучение чего-то нового =)
ADO.NET рамках лица против NHibernate
Таким образом, платформа ADO.NET Entity Framework получила немного плохую прессу (в виде записей в блоге и петиции), но я не хочу спешить с суждением. Я ограничен во времени для экспериментов, но мне было интересно, работал ли кто-нибудь с ним еще с большей эмпирической обратной связью?
Наконец, каковы мысли об использовании NHibernate, который существует уже давно и может быть более зрелым, чем ADO.NET Entity Framework.
Каков формат строки подключения ASP.NET для связанного сервера?
У меня есть сервер базы данных, к которому я не могу подключиться, используя предоставленные мне учетные данные. Однако в промежуточной версии того же сервера имеется связанный сервер, который указывает на производственную базу данных. И промежуточный сервер, и связанный сервер имеют одну и ту же схему.
Меня заверили, что я должен ожидать, что смогу подключиться к живому серверу, прежде чем мы выйдем в прямой эфир. К сожалению, я достиг той точки в своей разработке, когда мне нужно больше, чем образцы записей маркеров, которые в настоящее время находятся в промежуточной базе данных. Итак, я надеялся подключиться к связанному серверу.
До сих пор в моей разработке против этой схемы был против самого промежуточного сервера, используя объекты Subsonic. Все это прекрасно работает.
Я могу подключиться через SQL Server Management Studio к этому связанному серверу и выполнять свои запросы напрямую. Я также могу выполнять "ручные" запросы в C# против связанного сервера, подключив строку подключения к промежуточному серверу и запустив мои запросы как
SELECT * из OpenQuery([LINKEDSERVER], 'QUERY')
Тем не менее, объекты Subsonic-это то, что позволяет мне вовремя и в рамках бюджета реализовать этот проект, поэтому я не собираюсь делать прямые запросы в своем коде.
То, что я ищу, - это есть ли способ указать строку подключения к связанному серверу. Я просмотрел много записей на форуме и т. д. по этой теме и большинству ответов кажется, что они полностью замалчивают часть вопроса "linked server", сосредоточившись на основном синтаксисе строки соединения.
Какой лучший способ безопасно опубликовать сборку сообщений сайта?
Итак, по вашему опыту, что лучше всего? Есть ли безопасный способ, который также может быть написан / запущен в инструменте автоматизации сборки?
Edit: я должен упомянуть, что это windows/.net, и я буду развертываться в iis6
Я хотел бы получить несколько советов по отладке исключений веб-службы WCF
Я создал службу WCF, и когда я просматриваю конечную точку, я получаю следующую ошибку:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<s:Fault>
<faultcode
xmlns:a="http://schemas.microsoft.com/ws/2005/05/addressing/none">
a:ActionNotSupported
</faultcode>
<faultstring xml:lang="en-GB">
The message with Action '' cannot be processed at the receiver,
due to a ContractFilter mismatch at the EndpointDispatcher.
This may be because of either a contract mismatch (mismatched
Actions between sender and receiver) or a binding/security
mismatch between the sender and the receiver. Check that sender
and receiver have the same contract and the same binding
(including security requirements, e.g. Message, Transport, None).
</faultstring>
</s:Fault>
</s:Body>
</s:Envelope>
Я исправил проблему, но не получил удовольствия от опыта! Есть ли у кого-нибудь советы или инструменты для отладки подобных проблем?
Лучший способ привязать свойства форм Windows к ApplicationSettings в C#?
В настольном приложении, требующем серьезного повторного факторинга, у меня есть несколько фрагментов кода, которые выглядят следующим образом:
private void LoadSettings()
{
WindowState = Properties.Settings.Default.WindowState;
Location = Properties.Settings.Default.WindowLocation;
...
}
private void SaveSettings()
{
Properties.Settings.Default.WindowState = WindowState;
Properties.Settings.Default.WindowLocation = Location;
...
}
Каков наилучший способ заменить это? Ограничения, накладываемые проектом:
- Visual Studio 2005
- C# / .NET 2.0
- Windows формы
Обновление
Для потомков я также нашел два полезных урока: "Windows формирует пользовательские настройки в C#" и "Exploring Secrets of Persistent Application Settings" .
Я задал следующий вопрос об использовании этой техники для привязки размера формы здесь . Я разделил их, чтобы помочь людям, которые ищут подобные проблемы.
Готов ли Mono к прайм-тайму?
Кто-нибудь использовал Mono, реализацию с открытым исходным кодом .NET в крупном или среднем проекте? Мне интересно, готова ли она к реальному миру, к производственной среде. Является ли он стабильным, быстрым, совместимым, ... достаточно, чтобы использовать? Требуется ли много усилий для переноса проектов в среду выполнения Mono, или это действительно достаточно совместимо, чтобы просто взять и запустить уже написанный код для среды выполнения Microsoft?
Рекомендуется авторизовать всех пользователей только на одной странице
Каков наилучший способ авторизации всех пользователей на одной странице на веб-сайте asp.net.
За исключением страницы входа и еще одной страницы, я запрещаю всем пользователям просматривать страницы на веб-сайте.
Как сделать эту страницу доступной для всех пользователей?
.Чистая разбора против преобразования
В .Net вы можете прочитать строковое значение в другой тип данных, используя либо <datatype>.parse , либо Convert.To<DataType> .
Я не знаком с основами parse versus convert, поэтому всегда теряюсь, когда меня спрашивают, какой из них подходит better/faster/more.
Итак - какой путь лучше всего выбрать в каких обстоятельствах?
Отправка щелчка мыши на кнопку на панели задач с помощью C#
В приложении, над которым я сейчас работаю, требуется вывести на передний план окно внешнего приложения. Выполнение Win32 API вызовов, таких как BringWindowToTop и SetForeground window, не всегда работает. Это связано с некоторыми ограничениями в пределах Windows XP. Что я хотел бы сделать вместо этого, так это отправить имитацию щелчка мыши по кнопке окна на панели задач, которая, как я надеюсь, выведет окно на передний план. Кто-нибудь знает, как это возможно?
C#: Что Еще Вы Используете, Кроме Набора Данных
Я обнаружил, что все больше не удовлетворяюсь парадигмой DataSet/DataTable/DataRow в .Net, главным образом потому, что это часто на пару шагов сложнее, чем то, что я действительно хочу сделать. В тех случаях, когда я привязываюсь к элементам управления, DataSets-это нормально. Но в других случаях, по-видимому, существует изрядное количество умственных накладных расходов.
Я немного поиграл с SqlDataReader, и это, кажется, хорошо для простых прогулок через select, но я чувствую, что в .Net могут скрываться некоторые другие модели, о которых полезно узнать больше. Я чувствую, что вся помощь, которую я нахожу в этом, просто использует DataSet по умолчанию. Может быть, это и DataReader действительно лучшие варианты.
Я не ищу лучшего / худшего срыва, просто интересно, какие у меня есть варианты и какой опыт у вас был с ними. Спасибо!
- Эрик Сиппл
Почему вы не можете привязать размер формы windows к ApplicationSettings?
Обновление: решено, с кодом
Я получил это работает, см. Мой ответ ниже для кода...
оригинальный пост
Как указал Тунди в своем ответе на мой последний вопрос, вы можете связать почти все о windows forms control с ApplicationSettings довольно легко. Так неужели нет никакого способа сделать это с размером формы? В этом руководстве говорится, что вам нужно явно обрабатывать размер, чтобы вы могли сохранить RestoreBounds вместо размера, если окно развернуто или свернуто. Тем не менее, я надеялся, что смогу просто использовать такое свойство, как:
public Size RestoreSize
{
get
{
if (this.WindowState == FormWindowState.Normal)
{
return this.Size;
}
else
{
return this.RestoreBounds.Size;
}
}
set
{
...
}
}
Но я не вижу способа связать это в конструкторе (размер заметно отсутствует в списке PropertyBinding).
Что является лучшим способом, чтобы написать форму по ASP.NET ДТП?
Каков наилучший способ написать форму для отправки некоторых данных в ASP.NET MVC? Это так, как Скотт Гатри демонстрирует здесь? Есть ли лучшие подходы? Возможно, с меньшим использованием строк?
Параметры разрешений ввода-вывода с помощью установщика .net
Я создаю программу, которая будет установлена с помощью проекта установщика .net. Программа записывает файлы настроек в свой каталог в директории Program Files dir. Он считает, что есть некоторые параметры active directory, которые будут препятствовать приложению восстанавливать права на этот каталог, если ограниченный пользователь запускает программу. Есть ли возможность изменить настройки для папки приложения через установку, чтобы это не было проблемой?
Random целое число в VB.NET
Мне нужно сгенерировать целое число random между 1 и n (где n-положительное целое число), чтобы использовать его для юнит-теста. Мне не нужно что - то слишком сложное, чтобы гарантировать истинную случайность-просто старомодное число random.
Как бы я это сделал?
Используя ASP.NET MVC, как лучше всего избежать написания Как добавить представление, так и изменить представление?
Добавление представления и представления изменения зачастую невероятно похожие, что оно является необоснованным написать 2 Просмотров. По мере развития приложения вы будете вносить одинаковые изменения в оба.
Однако, как правило, существуют тонкие различия. Например, поле может быть доступно только для чтения после его добавления, и если это поле является DropDownList, вам больше не нужен этот список в ViewData.
Итак, должен ли я создать класс данных представления, который содержит всю информацию для обоих представлений, где, в зависимости от выполняемой операции, определенные свойства будут null?
Должен ли я включать операцию в данные представления в качестве перечисления?
Должен ли я окружать все тонкие различия с <% if( ViewData.Model.Op == Ops.Editing ) { %> ?
Или есть лучший способ?
Asp.net MVC User Control ViewData
Когда контроллер отображает представление на основе модели, вы можете получить свойства из коллекции ViewData с помощью индексатора (т. е. ViewData["Property"]). Однако у меня есть общий пользовательский элемент управления, который я попытался вызвать, используя следующее:
return View("Message", new { DisplayMessage = "This is a test" });
и на моем пульте управления сообщениями у меня было это:
<%= ViewData["DisplayMessage"] %>
Я думаю, что это будет правильно отображать DisplayMessage, однако null возвращается. После большой дозы возни вокруг, я, наконец, создал класс "MessageData" для того, чтобы строго ввести свой пользовательский элемент управления:
public class MessageControl : ViewUserControl<MessageData>
и теперь этот звонок работает:
return View("Message", new MessageData() { DisplayMessage = "This is a test" });
и может отображаться следующим образом:
<%= ViewData.Model.DisplayMessage %>
Почему бы не добавить свойство DisplayMessage к свойству ViewData (т. е. ViewData["DisplayMessage"]) сбор без сильного ввода пользовательского элемента управления? Это что, специально придумано? Разве не логично, что ViewData будет содержать ключ для "DisplayMessage"?
Можно ли получить доступ к серверу разработки ASP.NET в интрасети?
Я тестирую сайт ASP.NEt. Когда я выполняю его, он запускает сервер разработки ASP.NET и открывает страницу.
Теперь я хочу проверить его в интранете, который у меня есть.
Могу ли я использовать этот сервер или мне нужно настроить IIS на этой машине?
Нужно ли мне что-то настроить, чтобы он работал?
Я изменил localhost на правильный IP и открыл брандмауэр.
Спасибо
Использование Lucene для поиска email адресов
Я хочу использовать Lucene (в частности, Lucene.NET) для поиска email адресных доменов.
E.g. Я хочу найти "@gmail.com", чтобы найти все письма, отправленные на адрес gmail.
Выполнение запроса Lucene для "*@gmail.com " приводит к ошибке, звездочки не могут быть в начале запросов. Выполнение запроса для "@gmail.com " не возвращает никаких совпадений, потому что "foo@gmail.com" рассматривается как целое слово, и вы не можете искать только части слова.
Как я могу это сделать?
Какие библиотеки синтаксического анализа .NET Mime доступны?
У меня есть проект, который использует javax.mail.internet.MimeMessage и другие связанные классы, которые делают анализ mime для писем, которые мы получаем. Это должно быть перенесено .NET.
Какую .Net стороннюю или встроенную библиотеку я могу использовать для замены Java классов, которые я использую?
EDIT: что-нибудь изменилось за последние 9 месяцев с тех пор, как я задал этот вопрос?
Как правильно создать приложение с одним экземпляром WPF?
Используя C# и WPF под .NET (а не Windows формы или консоль), как правильно создать приложение, которое можно запустить только в одном экземпляре?
Я знаю, что это как-то связано с какой-то мифической вещью, называемой a mutex, и редко могу найти кого-то, кто потрудился бы остановиться и объяснить, что это такое.
Код должен также сообщить уже запущенному экземпляру, что пользователь попытался запустить второй экземпляр, и, возможно, также передать любые аргументы командной строки, если таковые существуют.
Есть ли способ проверить, если пользователь в настоящее время простаивает?
Существует некоторая документация в интернете, которая показывает, что Windows изменяет поведение команды NotifyIcon.BalloonTipShown, если пользователь в настоящее время простаивает, и это определяется проверкой событий клавиатуры и мыши . В настоящее время я работаю над приложением, которое проводит большую часть своего времени в системном трее, но время от времени всплывает несколько всплывающих подсказок, и я хотел бы, чтобы пользователь не пропустил ни одного из них, если они в настоящее время находятся вдали от системы. Поскольку любые отображаемые в настоящее время подсказки воздушного шара уничтожаются, если отображается новый, я хочу отложить их отображение, если пользователь отсутствует.
Таким образом, есть ли способ проверить, находится ли пользователь в настоящее время в режиме ожидания, если приложение свернуто в системный трей?
Проверка подлинности с помощью форм в приложениях
Я работаю над внутренним веб-инструментом для своей компании. Частью этого инструмента является другое приложение (Панель управления круиз-контролем), которое работает в своем собственном виртуальном каталоге под моим корневым приложением.
Я хотел ограничить доступ к этому внутреннему приложению, настроив аутентификацию форм на нем и имея форму входа в корневое приложение.
Я поместил следующее в корневые приложения web.config:
<location path="ccnet">
<system.web>
<authentication mode="Forms">
<forms loginUrl="/default.aspx" timeout="5000"/>
</authentication>
<authorization>
<allow users="?"/>
<deny users="?"/>
</authorization>
</system.web>
</location>
Однако проверка подлинности форм не работает, она не перенаправляется обратно на страницу входа, когда я получаю доступ к этому приложению напрямую.
У меня такое чувство, что у меня есть теги <allow> и <deny>, установленные неправильно. Может кто-нибудь прояснить?
Вызов базовых методов при переопределении событий уровня страницы
В моем коде за спиной я связываю свои события вот так:
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
btnUpdateUser.Click += btnUpateUserClick;
}
Я сделал это таким образом, потому что это то, что я видел в примерах.
- Нужно ли вызывать метод base.OnInit()?
- Будет ли он неявно называться?
- Лучше ли вызывать его в начале метода или в конце?
- Каков будет пример, когда путаница в базовом методе может привести вас к неприятностям?
Альтернативы Windows Workflow Foundation?
Я уже некоторое время использую WWF как часть внутреннего приложения центра обработки вызовов (ASP.NET), и хотя это была хорошая практика в понимании того, как должна работать система документооборота на основе государственных машин, я определенно не влюблен в WWF сам по себе. На мой взгляд так оно и есть:
- Чрезмерно сложный, особенно для использования в веб-приложениях (все эти потоковые вещи во время выполнения)
- Незрелый (когда-нибудь работал с этим ужасным дизайнером?)
- Анемичный в своем текущем наборе функций
Есть ли у кого-нибудь предложения по улучшению структуры рабочего процесса на основе .NET? В частности, я ищу следующие функции:
- Состояние на основе машины (сопоставление состояний с доступными действиями)
- Фокус на разрешениях пользователей (управление тем, кто имеет доступ к каким действиям)
- Возможность запуска рабочих процессов в качестве временных фоновых задач (например, для отправки напоминаний для элементов, которые находились в определенном состоянии в течение x дней)
Это действительно все, что мне нужно. Мне не нужно быть в состоянии "drag and drop" какие-либо действия или визуально проектировать поток. Я совершенно комфортно пишу фактический код, как только запускается определенное действие.
Вызов веб-службы ASP.NET из ASP с помощью SOAPClient
У меня есть веб-сервис ASP.NET с такими функциями, как:
[WebService(Namespace = "http://internalservice.net/messageprocessing")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
public class ProvisioningService : WebService
{
[WebMethod]
public XmlDocument ProcessMessage(XmlDocument message)
{
// ... do stuff
}
}
Я вызываю веб-службу из ASP, используя что-то вроде:
provWSDL = "http://servername:12011/MessageProcessor.asmx?wsdl"
Set service = CreateObject("MSSOAP.SoapClient30")
service.ClientProperty("ServerHTTPRequest") = True
Call service.MSSoapInit(provWSDL)
xmlMessage = "<request><task>....various xml</task></request>"
result = service.ProcessMessage(xmlMessage)
Проблема, с которой я сталкиваюсь, заключается в том, что когда XML достигает метода ProcessMessage, веб-служба plumbing попутно добавила пространство имен по умолчанию. т. е. если я установлю точку останова внутри ProcessMessage (сообщение XmlDocument), я увижу:
<request xmlns="http://internalservice.net/messageprocessing">
<task>....various xml</task>
</request>
Когда я захватываю пакеты по проводу, я вижу, что XML, отправленный инструментарием SOAP, немного отличается от того, что отправлено клиентом .NET WS. Набор инструментов SOAP отправляет:
<SOAP-ENV:Envelope
xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema"
xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<ProcessMessage xmlns="http://internalservice.net/messageprocessing">
<message xmlns:SOAPSDK4="http://internalservice.net/messageprocessing">
<request>
<task>...stuff to do</task>
</request>
</message>
</ProcessMessage>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Если клиент отправляет .NET:
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<ProcessMessage xmlns="http://internalservice.net/messageprocessing">
<message>
<request xmlns="">
<task>...stuff to do</task>
</request>
</message>
</ProcessMessage>
</soap:Body>
</soap:Envelope>
Прошло так много времени с тех пор, как я использовал инструментарий ASP/SOAP для вызова веб-сервисов .NET, что я не могу вспомнить все умные tricks/SOAP-fu, которые я использовал, чтобы обойти подобные вещи.
Есть какие-нибудь идеи? Одним из решений является создание вызываемого COM .NET прокси, который принимает XML как строковый парам и вызывает WS от моего имени, но это дополнительный уровень сложности/работы, которую я надеялся не делать.
"Предотвращение Выполнения Данных" убивает (VS2008) локальный сервер разработки ASP.Net (aka Cassini) на Vista 64
Иногда я обнаруживаю, что во время отладки приложения ASP.Net (написанного в visual studio 2008, работающего на 64-разрядной версии Vista) локальный сервер разработки ASP.Net (т. е. 'Cassini') перестает отвечать на запросы.
Мне часто приходит сообщение о том, что "Data Execution Prevention (DEP)" убил WebDev.WebServer.exe
Журналы событий просто говорят мне, что " WebDev.WebServer.exe перестал работать"
Я слышал, что этот 'problem' представляет себя чаще на Vista 64-bit, потому что DEP включен по умолчанию. Следовательно, отключение DEP может привести к 'solve' проблеме.
Но мне интересно:
Есть ли известная ошибка / ситуация с Cassini, которая заставляет DEP убить процесс?
Кроме того, какова практическая опасность отключения предотвращения выполнения данных?
Обнаружение звуковой тишины в WAV файлах с помощью C#
Мне поручено создать клиентское приложение .NET для обнаружения тишины в файлах WAV.
Возможно ли это с помощью встроенного Windows APIs? Или, с другой стороны, есть ли хорошие библиотеки, чтобы помочь с этим?
Как управлять настройками конфигурации для каждого разработчика
В проекте .NET предположим, что у вас есть параметр конфигурации, например строка подключения, хранящаяся в файле app.config, который отличается для каждого разработчика в вашей команде (они могут использовать локальный сервер SQL, или конкретный экземпляр сервера, или использовать удаленный сервер и т. д.).
Как вы можете структурировать свое решение так, чтобы каждый разработчик мог иметь свою собственную разработку "preferences" (т. е. не проверено в системе управления версиями), но предоставляет строку подключения по умолчанию, которая проверяется в системе управления версиями (тем самым предоставляя правильные значения по умолчанию для процесса сборки или новых разработчиков).
Edit: может ли метод "
file ", предложенный @Jonathon, каким-то образом использоваться с разделом connectionStrings ?
Удалить строку таблицы с несколькими первичными ключами
У меня есть datalist с OnDeleteCommand="Delete_Command".
Я хочу удалить запись с несколькими первичными ключами, но я не знаю, как получить к ней доступ из события Delete_Command.
Если я использую DataKeyField, я ограничен только одним ключом. Какие-нибудь обходные пути для этого?
Принудительное оформление атрибутов классов / методов
Следуя моему недавнему вопросу о больших, сложных объектах Как результате веб-службы . Я думал о том, как я могу гарантировать, что все будущие дочерние классы сериализуются в XML.
Теперь, очевидно, я мог бы реализовать интерфейс IXmlSerializable , а затем бросить в него читателя / писателя, но я хотел бы избежать этого, поскольку это означает, что мне нужно создавать экземпляр читателя/писателя всякий раз, когда я хочу это сделать, и 99.99% времени я буду работать со строкой, поэтому я могу просто написать свой собственный.
Однако, чтобы сериализовать до XML, я просто украшаю класс и его членов Xml? ?? атрибуты ( XmlRoot , XmlElement и др.) и затем передать его в XmlSerializer и StringWriter , чтобы получить строку. И это все хорошо. Я намерен поместить метод для возврата строки в общий метод утилиты, поэтому мне не нужно беспокоиться о типе и т. д.
То, что меня беспокоит, заключается в следующем: если я не украшаю класс(ы) необходимыми атрибутами, ошибка не возникает до времени выполнения.
Есть ли способ применить украшение атрибута? Можно ли это сделать с помощью FxCop? (Я еще не использовал FxCop)
UPDATE:
Извините за задержку в получении этого закрыть ребята, много дел!
Определенно нравится идея использовать отражение, чтобы сделать это в тестовом случае, а не прибегать к FxCop (например, чтобы держать все вместе).. Ответ Фредрика Калсета был фантастическим, спасибо за включение кода, поскольку мне, вероятно, потребовалось бы немного копать, чтобы понять, как это сделать самому!
+1 к другим ребятам за аналогичные предложения :)
Кто-нибудь использует фреймворк Spector BDD?
Я читал примерную главу из книги Айенде , и на веб-сайте языка Boo я увидел ссылку на структуру Spector BDD .
Мне интересно, использует ли кто-нибудь его в своем проекте, как это работает, и есть ли больше примеров и/или предлагаемых чтений.
На всякий случай вам интересно, я разработчик C#, и поэтому я планирую использовать его в среде C#/.NET.
Через несколько лет этот вопрос был поднят. Я думаю, мы можем с уверенностью предположить, что Specflow и некоторые другие, такие как NSpec , стали инструментами, которые мы используем.
Загрузка раздела конфигурации System.ServiceModel с помощью ConfigurationManager
Используя C# .NET 3.5 и WCF, я пытаюсь записать некоторые конфигурации WCF в клиентском приложении (имя сервера, к которому подключается клиент).
Очевидный способ-использовать ConfigurationManager для загрузки раздела конфигурации и записи необходимых мне данных.
var serviceModelSection = ConfigurationManager.GetSection("system.serviceModel");
Кажется, что всегда возвращается null.
var serviceModelSection = ConfigurationManager.GetSection("appSettings");
Работать отлично.
Раздел конфигурации присутствует в App.config, но по какой-то причине ConfigurationManager отказывается загружать раздел system.ServiceModel .
Я хочу избежать ручной загрузки файла xxx.exe.config и использования XPath, но если мне придется прибегнуть к этому, я сделаю это. Просто кажется, что это немного халтура.
Есть какие-нибудь предложения?
Лучший TinyMce редактор Image Manager / загрузка файлов для Asp.net Mvc
Что является лучшим менеджером изображений для интеграции в Редакторе TinyMce, кроме официальных коммерческих Moxiecode?
Я ищу, чтобы интегрировать легкий текстовый редактор в приложение asp.net mvc, и я выбрал решение Tinymce (а не классический FCKEditor, поскольку это кажется более легким и более удобным для jquery).
К сожалению, TinyMce не поставляется с интегрированным менеджером изображений или менеджером документов, как FCKeditor, но вы должны купить их как плагины для Moxiecode.
Я искал другие плагины, но до сих пор я не нашел никакого решения decend и light, которое работает с asp.net MVC framework.
Есть какие-нибудь предложения?
Является ли визуальная память C++ управляемой платформой Dot Net
Недавно я столкнулся с ошибкой при доступе к MAPI через фреймворк .NET (как описано в этой статье). Теперь я остался с серией ошибок нарушения доступа к памяти.
Чтобы обойти эти проблемы, я пытался использовать этот сторонний компонент, который имеет ядро Visual C++. К сожалению, мы все еще имеем те же ошибки.
Я лично никогда не использовал Visual C++, но мой вопрос заключается в следующем: если библиотека C++ компилируется с помощью Visual Studio 2005, используя Visual C++ - будет ли память проекта управляться платформой .NET, а это, следовательно, сделает ее подверженной тем же проблемам, что и библиотеки .NET, которые мы используем? Или я лаю не на то дерево?
Interlocked.Exchange, но не для булевых чисел?
Есть ли эквивалент для Interlocked.Exchange для логических?
Например, атомарный обмен значениями, который возвращает Предыдущее значение и не требует блокировки?
Виды в отдельных сборках в ASP.NET MVC
Я пытаюсь создать веб-приложение, в котором я хочу иметь возможность подключать отдельные сборки. Я использую MVC preview 4 в сочетании с Unity для внедрения зависимостей, которые я использую для создания контроллеров из моих сборок плагинов. Я использую WebForms (default aspx) в качестве движка представления.
Если я хочу использовать представление, я застрял на тех, которые определены в основном проекте, из-за динамической компиляции части ASPX. Я ищу правильный способ вложить файлы ASPX в другой assembly, не проходя через весь шаг deployment. Неужели я упускаю что-то очевидное? Или мне следует прибегнуть к программному созданию своих представлений?
Update: я изменил принятый ответ. Несмотря на то, что ответ Дейла очень скрупулезен, я пошел за решением с другим поставщиком виртуальных путей. Он работает как заклинание и занимает всего около 20 строк кода, я думаю.
Отображение строк в нескольких Столбцах в Asp.net Gridview
По умолчанию каждая строка Gridview сопоставляется с каждой строкой в datatable или наборе данных, прикрепленном к ее источнику данных. Но что делать, если я хочу отобразить эти строки в нескольких столбцах. Например, если он имеет 10 строк, 5 строк должны отображаться в 2 столбцах рядом друг с другом. Также я могу сделать это с сеткой Infragistics. Разве это возможно?
Профилирование / Оптимизация (Sharepoint 2007) Веб-Частей
Мне просто интересно, какие варианты существуют для правильной работы веб-частей measure/profile/optimize ASP.net 2.0, особенно для Sharepoint 2007?
Поскольку веб-части являются слоем на другом уровне технологии, получение использования ресурсов, открытых дескрипторов и прочего только для веб-части кажется немного сложным.
Кто-нибудь знает некоторые хорошие инструменты или методы для профилирования и оптимизации веб-частей?
Как я могу перенаправить пользователя на настраиваемую страницу 404 в ASP.NET MVC вместо того, чтобы бросать исключение?
Я хочу иметь возможность захватить исключение, которое возникает, когда пользователь запрашивает несуществующий контроллер, и перенаправить его на страницу 404. Как я могу это сделать?
Например, пользователь запрашивает http://www.nosite.com/paeges/1 ( должно быть /pages/). Как мне сделать так, чтобы они были перенаправлены на экран 404, а не на экран исключений?
Есть ли рекомендации для легких .net Win форм HTML элементов управления рендерером?
Пытаясь избежать управления .net WebBrowser (мне не нужно переходить к url, печатать визуализированные html или любые другие встроенные лакомства). Обертывание IE dll кажется немного тяжеловесным.
Мне просто нужно что - то, что может отображать основной html помеченный текст-эквивалент html RichTextBox в действительности. У кого-нибудь есть опыт / рекомендации / военные истории?
Автоматизация WSDL.exe в пользовательской сборке
У меня есть веб-приложение, написанное в C#, которое потребляет несколько внутренних веб-служб. У нас есть уровень разработки, уровень тестирования и производственный уровень. Кроме того, мы используем команду WSDL.exe для создания файла Proxies.cs для веб-служб данного уровня.
Когда мы готовы развернуть наш код в стеке от разработки до тестирования или от тестирования до производства, нам нужно выполнить команду WSDL.exe , чтобы указать соответствующую версию веб-служб.
Есть ли общепринятый способ автоматизировать это?
Рекомендации для компонента .NET для доступа к папке входящих сообщений email
Меня попросили написать службу Windows в C#, чтобы периодически отслеживать входящие сообщения email и вставлять сведения о любых полученных сообщениях в таблицу базы данных.
Мой инстинкт состоит в том, чтобы сделать это через POP3, и, конечно же, поиск в Google для "компонента .NET POP3" приводит к бесчисленным (ОК, 146 000) результатам.
Кто-нибудь делал что-то подобное раньше, и вы можете порекомендовать достойный компонент, который не сломает банк (максимум несколько сотен долларов)?
Есть ли какие-то преимущества в использовании IMAP вместо POP3?
Запретить проглатывание исключений элементом управления WebBrowser
Я использую System.Windows.Forms.WebBrowser, чтобы сделать представление a-la начальной страницы Visual Studio. Однако, похоже, что элемент управления ловит и обрабатывает все исключения, молча погружая их! Не нужно говорить, что это очень неудачное поведение.
void webBrowserNavigating(object sender, WebBrowserNavigatingEventArgs e)
{
// WebBrowser.Navigating event handler
throw new Exception("OMG!");
}
Приведенный выше код отменит навигацию и проглотит исключение.
void webBrowserNavigating(object sender, WebBrowserNavigatingEventArgs e)
{
// WebBrowser.Navigating event handler
try
{
e.Cancel = true;
if (actions.ContainsKey(e.Url.ToString()))
{
actions[e.Url.ToString()].Invoke(e.Url, webBrowser.Document);
}
}
catch (Exception exception)
{
MessageBox.Show(exception.ToString());
}
}
Итак, то, что я делаю (выше), - это поймать все исключения и открыть окно, это лучше, чем молча терпеть неудачу, но все же явно далек от идеала. Я бы хотел, чтобы он перенаправлял исключение через обычный путь сбоя приложения, чтобы оно в конечном итоге становилось необработанным или обрабатывалось приложением из корня.
Есть ли способ сказать элементу управления WebBrowser , чтобы остановить потопление исключений и просто переслать их естественным и ожидаемым способом? Или есть какой-то хакерский способ бросить исключение через родные границы?
Изменение Круиза Control.NET
Мы исследуем использование CruiseControl.NET в качестве поставщика сборки непрерывной интеграции, а также автоматизируем первую часть нашего процесса deployment.
Кто-нибудь изменил панель мониторинга CruiseControl.NET's, чтобы добавить пользовательские роли входа и пользователя (IE, отдельный доступ к принудительной сборке только для определенных людей на основе каждого проекта?
Панель мониторинга-это приложение .NET, но я считаю, что он использует движок представления nVelocity вместо веб-форм, с которыми у меня нет опыта.
Можете ли вы смешать nVelocity и Webforms,или мне нужно потратить день на изучение чего-то нового =)
ADO.NET рамках лица против NHibernate
Таким образом, платформа ADO.NET Entity Framework получила немного плохую прессу (в виде записей в блоге и петиции), но я не хочу спешить с суждением. Я ограничен во времени для экспериментов, но мне было интересно, работал ли кто-нибудь с ним еще с большей эмпирической обратной связью?
Наконец, каковы мысли об использовании NHibernate, который существует уже давно и может быть более зрелым, чем ADO.NET Entity Framework.
Каков формат строки подключения ASP.NET для связанного сервера?
У меня есть сервер базы данных, к которому я не могу подключиться, используя предоставленные мне учетные данные. Однако в промежуточной версии того же сервера имеется связанный сервер, который указывает на производственную базу данных. И промежуточный сервер, и связанный сервер имеют одну и ту же схему.
Меня заверили, что я должен ожидать, что смогу подключиться к живому серверу, прежде чем мы выйдем в прямой эфир. К сожалению, я достиг той точки в своей разработке, когда мне нужно больше, чем образцы записей маркеров, которые в настоящее время находятся в промежуточной базе данных. Итак, я надеялся подключиться к связанному серверу.
До сих пор в моей разработке против этой схемы был против самого промежуточного сервера, используя объекты Subsonic. Все это прекрасно работает.
Я могу подключиться через SQL Server Management Studio к этому связанному серверу и выполнять свои запросы напрямую. Я также могу выполнять "ручные" запросы в C# против связанного сервера, подключив строку подключения к промежуточному серверу и запустив мои запросы как
SELECT * из OpenQuery([LINKEDSERVER], 'QUERY')
Тем не менее, объекты Subsonic-это то, что позволяет мне вовремя и в рамках бюджета реализовать этот проект, поэтому я не собираюсь делать прямые запросы в своем коде.
То, что я ищу, - это есть ли способ указать строку подключения к связанному серверу. Я просмотрел много записей на форуме и т. д. по этой теме и большинству ответов кажется, что они полностью замалчивают часть вопроса "linked server", сосредоточившись на основном синтаксисе строки соединения.
Какой лучший способ безопасно опубликовать сборку сообщений сайта?
Итак, по вашему опыту, что лучше всего? Есть ли безопасный способ, который также может быть написан / запущен в инструменте автоматизации сборки?
Edit: я должен упомянуть, что это windows/.net, и я буду развертываться в iis6
Какие самые важные вещи нужно узнать о .net как менеджере проекта?
Думая о том, чтобы попасть в .net technology project management
У меня был большой опыт работы с проектами PHP: я знаю большинство существующих фреймворков и библиотек, и я написал спецификации и тематические исследования, основанные на этих знаниях.
Что я должен знать о .net? Какие главные ресурсы вы бы рекомендовали мне знать, чтобы я мог быстро учиться и позже оставаться в курсе технологии?
Edit (8.24.08): ответы, которые я получил до сих пор, по существу, обсуждают то, чтобы быть хорошим PM. Спасибо, но это не то, что я имел в виду. Любые .net предметов первой необходимости будут оценены по достоинству.
Хранение данных из приложения C#
Недавно я занялся изучением некоторых C# и написал клон Yahtzee. Мой следующий шаг (Теперь, когда логика игры установлена и функционирует правильно) - это интеграция некоторого метода хранения статистики по всем сыгранным играм.
Мой вопрос заключается в следующем: как я должен хранить эту информацию? Моей первой мыслью было бы использовать базу данных, и я чувствую, что это ответ, который я получу... если это так, Можете ли вы указать мне хороший ресурс для создания и доступа к базе данных из приложения C#?
Хранение в файле XML на самом деле имеет больше смысла для меня, но я подумал, что если я предложу это, то меня разорвут на части ;). Я привык к созданию веб-приложений, и для них текстовые файлы обычно хмурятся.
Итак, идя с файлом XML, какие классы я должен смотреть, чтобы обеспечить легкую манипуляцию?
Есть ли простой способ создать ординалы в C#?
Есть ли простой способ в C# создать Ординалы для числа? Например:
- 1 возвращается 1-й
- 2 возврат 2-й
- 3 возвращается 3-й .. .
- и т.д.
Можно ли это сделать через String.Format() или есть какие-либо функции, доступные для этого?
C# приложение обнаружено как вирус
По поводу той же самой программы, что и мой вопрос несколько минут назад ... Я добавил проект установки и построил MSI для программы (просто чтобы посмотреть, смогу ли я это понять), и он отлично работает, за исключением одной вещи. Когда я попытался установить его на ноутбук моего родителя, их антивирус (бесплатная версия Avast Home Edition) вызвал тревогу и обвинил мой setup.exe в том, что он Троян.
Есть ли у кого-нибудь идеи, почему это происходит и как я могу это исправить?
Как отображается код ASP.NET "Yellow Screen of Death"?
Я думал, что код .Net компилируется в MSIL, поэтому мне всегда было интересно, как желтые экраны производят неисправный код. Если он выполняет скомпилированный код, как компилятор может создавать код из исходных файлов в сообщении об ошибке?
Не стесняйтесь редактировать это question/title, я знаю, что это действительно не имеет смысла.
Действительно ли Microsoft Report Viewer Redistributable 2008 требует .NET Framework version 3.5?
Я упаковываю веб-приложение на основе .NET 2.0 для deployment через пакет на основе установщика Windows. Наше приложение использует Report Viewer 2008, и я включаю распространяемый установщик Microsoft Report Viewer 2008. Когда я проверяю страницу загрузки для Report Viewer 2008, она содержит список .NET 3.5 в качестве требования.
Является ли установка .Net 3.5 действительно необходимым средством просмотра отчетов 2008? Мы нацелились на .Net 2.0 для нашего приложения, в нашем коде нет ничего, что использовало бы фреймворки 3.0 или 3.5.
Мы находимся в середине тестирования, и все, кажется, работает с out 3.5, но я не хочу пропустить граничное условие и вызвать ошибку для клиента, потому что он пропустил необходимый пакет времени выполнения.
637   5   18:49, 17th August, 2020
Обработать содержимое запроса raw HTTP
Я делаю решение для электронной коммерции в ASP.NET, которое использует стандартный сервис платежей на веб-сайте PayPal . Вместе с этим я использую услугу, которую они предлагают ( передача платежных данных), которая отправляет вам информацию о заказе после того, как пользователь завершил платеж. Последнее, что мне нужно сделать, это проанализировать запрос POST от них и сохранить информацию в нем. Содержимое запроса HTTP находится в этой форме :
SUCCESS
имя=Джейн+Мэ
фамилия=Smith
payment_status=завершено
payer_email=janedoesmith%40hotmail.com
payment_gross=3.99
mc_currency=USD
заказ=по+С+купить+в+о+редкая+книга+зеленый+яйца+%26+ветчина
В основном я хочу разобрать эту информацию и сделать что-то значимое, например, отправить ее по электронной почте или сохранить в DB. Мой вопрос заключается в том, что является правильным подходом к разбору необработанных данных HTTP в ASP.NET, а не как сам разбор выполняется.
ILMerge и веб-ресурсы
Мы пытаемся объединить наши DLL в один для deployment, таким образом ILMerge. Почти все, кажется, работает отлично. У нас есть пара веб-элементов управления, которые используют ClientScript.RegisterClientScriptResource , и это 404-ing после слияния (они работали до слияния).
Например, один из наших элементов управления будет выглядеть так
namespace Company.WebControls
{
public class ControlA: CompositeControl, INamingContainer
{
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
this.Page.ClientScript.RegisterClientScriptResource(typeof(ControlA), "Company.WebControls.ControlA.js");
}
}
}
Он будет расположен в проекте WebControls, assembly Company.WebControls. Внизу будет ControlA.cs и ControlA.js. ControlA.js помечается как встроенный ресурс. В AssemblyInfo.cs я включаю следующее:
[assembly: System.Web.UI.WebResource("Company.WebControls.ControlA.js", "application/x-javascript")]
После того, как это будет объединено в CompanyA.dll, как правильно ссылаться на этот веб-ресурс? Командная строка ILMerge выглядит следующим образом (из каталога bin после сборки): "C:\Program Files\Microsoft\ILMerge\ILMerge.exe" /keyfile:../../CompanySK.snk /wildcards:True /copyattrs:True /out:Company.dll Company.*.dll
Рефакторинг для тестируемости в существующей системе
Я присоединился к команде, которая работает над продуктом. Этот продукт был вокруг в течение ~5 лет или около того, и использует ASP.NET WebForms. Его оригинальная архитектура со временем исчезла, и вещи стали относительно неорганизованными на протяжении всего решения. Это ни в коем случае не ужасно, но определенно может использовать некоторую работу; вы все знаете, что я имею в виду.
Я выполнял некоторые рефакторинги с момента прихода в команду проекта около 6 месяцев назад. Некоторые из этих рефакторингов просты, метод извлечения, метод вытягивания и т. д. Некоторые из рефакторингов являются более структурными. Последние изменения заставляют меня нервничать, поскольку нет полного набора модульных тестов для сопровождения каждого компонента.
Вся команда готова внести структурные изменения через рефакторинг, но наш руководитель проекта выразил некоторые опасения, что у нас нет адекватных тестов для рефакторинга с уверенностью, что мы не вводим ошибки регрессии в систему. Он хотел бы, чтобы мы сначала написали больше тестов (против существующей архитектуры), а затем выполнили рефакторинг. Мой аргумент заключается в том, что структура классов системы слишком тесно связана, чтобы писать адекватные тесты, и что использование более тестового подхода при выполнении наших рефакторингов может быть лучше. Я имею в виду не написание тестов для существующих компонентов, а написание тестов для конкретных функциональных требований, а затем рефакторинг существующего кода для удовлетворения этих требований. Это позволит нам писать тесты, которые, вероятно, будут иметь больше долговечности в системе, а не писать кучу тестов 'throw away'.
Есть ли у кого-нибудь опыт относительно того, каков наилучший курс действий? У меня есть свои собственные мысли, но я хотел бы услышать некоторый вклад от сообщества.
Лучший способ заменить токены в большом текстовом шаблоне
У меня есть большой текстовый шаблон, который нуждается в маркированных разделах, замененных другим текстом. Маркеры выглядят примерно так: ##USERNAME##. мой первый инстинкт-просто использовать String.Replace(), но есть ли лучший, более эффективный способ или Replace() уже оптимизирован для этого?
Проблема двойной обратной связи
У меня есть приложение ASP.NET 1.1, и я пытаюсь выяснить, почему при изменении значения ComboBox, которое используется для заполнения другого (отношение родитель-потомок), создаются две обратные связи.
Я проверял и проверял код, но не могу найти причину.
Вот оба стека вызовов, которые заканчиваются в page_load
Первая обратная (порожденных autopostback элемента управления ТЭН ComboBox по )
Стек обратного вызова http://www.juanformoso.com.ar/images/callstack1.jpg
Второй постбэк (это то, что я хочу найти, почему это происходит)
alt text http://www.juanformoso.com.ar/images/callstack2.jpg
Есть какие-нибудь предложения? Что я могу проверить?
Что такое атрибуты в .NET?
Что такое атрибуты в .NET, для чего они хороши, и как я могу создать свои собственные атрибуты?
Утечек памяти .NET
Назовите все возможные способы, с помощью которых мы можем получить утечку памяти .NET?
Я знаю о двух из них:
- Неправильно не регистрируются обработчики/делегаты событий .
- Отказ от использования динамических дочерних элементов управления в формах Windows:
Пример:
// Causes Leaks
Label label = new Label();
this.Controls.Add(label);
this.Controls.Remove(label);
// Correct Code
Label label = new Label();
this.Controls.Add(label);
this.Controls.Remove(label);
label.Dispose();
Обновление: идея состоит в том, чтобы перечислить общие подводные камни, которые не слишком очевидны (например, выше). Обычно считается, что утечки памяти не являются большой проблемой из-за сборщика мусора. Не так, как это было раньше в C++.
Отличная дискуссия, ребята, но позвольте мне уточнить... по определению, если в .NET не осталось ссылки на объект, он будет в какой-то момент собран как мусор. Так что это не способ вызвать утечку памяти.
В управляемой среде я бы счел это утечкой памяти, если бы у вас была непреднамеренная ссылка на какой-либо объект, о котором вы не знаете (отсюда два примера в моем вопросе).
Итак, каковы различные возможные способы, которыми может произойти такая утечка памяти?
Очистка текста RTF
Я хотел бы взять некоторые входные данные RTF и очистить их, чтобы удалить все форматирование RTF, кроме \ul \b \i, чтобы вставить его в Word с незначительной информацией о формате.
Команда, используемая для вставки в Word, будет выглядеть примерно так: oWord.ActiveDocument.ActiveWindow.Selection.PasteAndFormat(0) (с некоторым текстом RTF уже в буфере обмена)
{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 Courier New;}}
{\colortbl ;\red255\green255\blue140;}
\viewkind4\uc1\pard\highlight1\lang3084\f0\fs18 The company is a global leader in responsible tourism and was \ul the first major hotel chain in North America\ulnone to embrace environmental stewardship within its daily operations\highlight0\par
У вас есть какие-нибудь идеи о том, как я могу безопасно очистить RTF с помощью некоторых регулярных выражений или чего-то еще? Я использую VB.NET для выполнения обработки, но любой образец языка .NET подойдет.
.Нетто - Excel ListObject авто на привязку
Я разрабатываю надстройку Excel 2007 с помощью Visual Studio Tools for Office (2008). У меня есть один лист с несколькими ListObjects на нем, которые привязаны к datatables при запуске. Когда они связаны, они автоматически изменяются правильно.
Проблема возникает, когда они снова связаны. У меня есть пользовательская кнопка на панели ленты, которая возвращается в базу данных и извлекает различную информацию на основе некоторых критериев, которые вводит пользователь. Эти новые данные возвращаются и повторно привязываются к ListObjects-однако на этот раз они не изменяются, и я получаю исключение:
ListObject не может быть связан, потому что он невозможно изменить размер в соответствии с данными. То ListObject не удалось добавить новые строки. Это может быть вызвано невозможность перемещать объекты ниже объект списка.
Внутреннее исключение: "Insert method of Range class failed"
Причина: Microsoft.Office.Tools.Excel.FailureReason.CouldNotResizeListObject
Я не смог найти ничего очень значимого в этой ошибке на Google или MSDN. Я пытался понять это в течение некоторого времени, но безрезультатно.
Базовая структура кода :
//at startup
DataTable tbl = //get from database
listObj1.SetDataBinding(tbl);
DataTable tbl2 = //get from database
listObj2.SetDataBinding(tbl2);
//in buttonClick event handler
DataTable tbl = //get different info from database
//have tried with and without unbinding old source
listObj1.SetDataBinding(tbl); <-- exception here
DataTable tbl2 = //get different info from database
listObj2.SetDataBinding(tbl2);
Обратите внимание, что это исключение возникает даже тогда, когда ListObject сжимается, а не только когда он растет.
Отображение пути в метке
Существуют ли какие-либо автоматические методы для обрезки строки пути .NET?
Например:
C:\Documents and Settings\nick\My Documents\Tests\demo data\demo data.emx
становится
C:\Documents...\demo data.emx
Было бы особенно здорово, если бы это было встроено в класс Label, и я, кажется, помню, что это-не могу найти его!
Лучший подход к разбору для SQL в PHP файлов?
Для моей старшей диссертации я разработал программу, которая будет автоматически обнаруживать и предлагать исправления уязвимостей SQL инъекций с использованием подготовленных инструкций. В частности, расширение mysqli для PHP. Мой вопрос для сообщества SO заключается в следующем: каков ваш предпочтительный подход к обнаружению SQL в исходном коде PHP?
Я использовал перечисление, содержащее SQL keywords (SELECT, INSERT, ...) , и в основном анализировал каждую строку, повторяя перечисление, чтобы определить, присутствует ли какой-либо SQL. Кроме того, я должен был убедиться, что синтаксический анализатор не ошибочно обнаруживает html (например <\select>).
Для меня это решение работало нормально, но теперь у меня есть немного больше времени на руках и я подумал о рефакторинге кода, чтобы использовать более элегантное (и эффективное) решение. Пожалуйста, ограничьте свои решения использованием C# , поскольку это то, в чем я написал свою программу.
Изображение UriSource и привязка данных
Я пытаюсь привязать список пользовательских объектов к изображению WPF, как это:
<Image>
<Image.Source>
<BitmapImage UriSource="{Binding Path=ImagePath}" />
</Image.Source>
</Image>
Но это не работает. Это ошибка, которую я получаю:
"Свойство 'UriSource' или свойство 'StreamSource' должно быть установлено."
Что я упускаю из виду?
Удаление узлов из XmlDocument
Следующий код должен найти соответствующий тег проекта и удалить его из XmlDocument, однако когда я тестирую его, он говорит::
Узел, который нужно удалить, не является дочерним для этого узла.
Кто-нибудь знает, как правильно это сделать?
public void DeleteProject (string projectName)
{
string ccConfigPath = ConfigurationManager.AppSettings["ConfigPath"];
XmlDocument configDoc = new XmlDocument();
configDoc.Load(ccConfigPath);
XmlNodeList projectNodes = configDoc.GetElementsByTagName("project");
for (int i = 0; i < projectNodes.Count; i++)
{
if (projectNodes[i].Attributes["name"] != null)
{
if (projectName == projectNodes[i].Attributes["name"].InnerText)
{
configDoc.RemoveChild(projectNodes[i]);
configDoc.Save(ccConfigPath);
}
}
}
}
UPDATE
Исправлено. Я сделал две вещи:
XmlNode project = configDoc.SelectSingleNode("//project[@name='" + projectName + "']");
Заменил цикл For запросом XPath, который не был предназначен для его исправления, просто потому, что это был лучший подход.
Фактическое исправление было:
project.ParentNode.RemoveChild(project);
Спасибо Пэту и Чаку за это предложение.
Тестирование кода .NET в средах частичного доверия
Я хочу проверить поведение определенного фрагмента кода .NET в среде частичного доверия. Каков самый быстрый способ настроить это? Не стесняйтесь предположить, что я (и другие читатели) всего CAS нуб.
@Nick: Спасибо за ответ. Увы, рассматриваемый инструмент явно предназначен для неуправляемого кода. Я не сказал "managed" в своем вопросе и не должен был предполагать, что люди будут выводить его из тега ".NET".
SQL Reporting Services viewer for webpage-можно ли переместить кнопку Просмотр отчета?
Используя элемент управления viewer для отображения отчетов служб SQL Reporting Services на веб-странице (Microsoft.ReportViewer.WebForms), можно ли переместить кнопку Просмотр отчета? По умолчанию он находится в самой правой части отчета, что означает, что вам нужно прокрутить весь путь до того, как кнопка будет видна. Это не проблема для отчетов, которые соответствуют ширине окна, но для очень широких отчетов это быстро становится проблемой.
Как настроить тестовый сертификат для подключения SSL в .NET?
Я хотел бы создать соединение SSL для общего общения TCP. Я думаю, что я понял, как это сделать в коде, используя информацию здесь: http://msdn.microsoft.com/en-us/library/system.net.security.sslstream.aspx что у меня возникли проблемы с созданием сертификата, чтобы я мог проверить это. Я попробовал makecert.exe testCert, и это создало сертификат, но, по-видимому, у него нет закрытого ключа, связанного с ним. Поэтому то, что я ищу, - это самая простая процедура для создания сертификата и получения соединения для работы.
Silverlight против Flex
Моя компания разрабатывает несколько типов приложений. Большая часть нашего бизнеса происходит от создания мультимедийных приложений, как правило, выполняемых в Flash. Однако теперь эта сторона дома начинает мигрировать в сторону развития doing Flex.
Большинство наших разработок осуществляется с помощью .NET. Я пытаюсь сделать толчок к созданию Silverlight вместо этого, так как это будет лучше использовать преимущества .NET разработчиков в штате. Я предпочитаю платформу Silverlight платформе Flex по той простой причине, что Silverlight-это весь код .NET. У нас в штате больше .NET разработчиков, чем Flash/Flex разработчиков, и большинство наших Flash/Flex разработчиков-графические художники (не настоящие программисты). Единственная причина, по которой они сейчас стремятся к Flex, - это то, что это кажется логичным шагом от Flash.
Я занимался разработкой с использованием обоих,и я искренне верю, что Silverlight легче работать. Но я пытаюсь убедить людей, которые являются всего лишь разработчиками Flash.
Итак, вот мой вопрос: если я собираюсь пойти на встречу, чтобы похвалить Silverlight, почему компания хочет пойти с Silverlight вместо Flex? Кроме очевидного "не у всех есть Silverlight", каковы плюсы и минусы для каждого?
VBScript/IIS - как автоматически установить версию ASP.NET для конкретного веб-сайта
Мне нужно написать сценарий создания пулов приложений и веб-сайтов на IIS 6.0. Я смог создать их с помощью adsutil.vbs и iisweb.vbs, но не знаю, как установить версию ASP.NET для сайтов, которые я только что создал, в 2.0.50727.0.
В идеале я хотел бы adsutil.vbs обновить метабазу. Как мне это сделать?
Есть ли способ получить экземпляр System.Configuration.Configuration на основе произвольного xml?
Я пытаюсь выполнить модульный тест пользовательского ConfigurationSection, который я написал, и я хотел бы загрузить некоторую произвольную конфигурацию XML в System.Configuration.Configuration для каждого теста (вместо того, чтобы помещать тестовую конфигурацию xml в файл Tests.dll.config. То есть, я хотел бы сделать что-то вроде этого:
Configuration testConfig = new Configuration("<?xml version=\"1.0\"?><configuration>...</configuration>");
MyCustomConfigSection section = testConfig.GetSection("mycustomconfigsection");
Assert.That(section != null);
Однако, похоже , что ConfigurationManager даст вам только экземпляры конфигурации, связанные с файлом EXE или конфигурацией машины. Есть ли способ загрузить произвольный XML в экземпляр конфигурации?
Определение Загруженных Сборок
Как я могу определить все сборки, которые мои .NET настольное приложение загрузилось? Я хотел бы поместить их в поле about, чтобы я мог запрашивать клиентов по телефону, чтобы определить, какая версия XYZ у них есть на их PC.
Было бы неплохо видеть как управляемые, так и неуправляемые сборки. Я понимаю, что список будет длинным, но я планирую ударить по нему инкрементным поиском.
"использование" эквивалента пространства имен в ASP.NET markup
Когда я работаю с элементами управления DataBound в ASP.NET 2.0, такими как повторитель, я знаю, что самый быстрый способ получить свойство связанного объекта (вместо использования отражения с функцией Eval()) - это привести объект DataItem к типу, который он есть, а затем использовать этот объект изначально, как показано ниже:
<%#((MyType)Container.DataItem).PropertyOfMyType%>
Проблема в том, что если этот тип находится в пространстве имен (что является случаем 99.99% времени), то этот единственный оператор намного длиннее из-за того, что страница ASP не имеет понятия области класса, поэтому все мои типы должны быть полностью квалифицированы.
<%#((RootNamespace.SubNamespace1.SubNamspace2.SubNamespace3.MyType)Container.DataItem).PropertyOfMyType%>
Есть ли какая-то директива using или какой-то эквивалент, который я мог бы поместить где-то на странице ASP.NET, чтобы мне не нужно было каждый раз использовать полное пространство имен?
Добавление NUnit к опциям для ASP.NET MVC test framework
- У меня установлен nUnit.
- У меня установлен VS2008 Team Edition.
- У меня установлен ASP.Net MVC Preview 4 (Codeplex).
Как заставить Visual Studio показать мне nUnit в качестве платформы тестирования при создании нового проекта MVC? На данный момент у меня все еще есть только Microsoft Testing Framework в качестве выбора.
Обновление: я установил nUnit 2.5, но все еще безуспешно. Из того, что я нашел в Google, мне кажется, что мне нужно создать шаблоны для тестовых проектов, чтобы они отображались в "Create Unit Test Project". Я бы подумал, что шаблоны будут легко доступны для nUnit, xUnit, MBUnit и т. д. Аль. Кроме того, похоже, что мне нужно создать записи реестра. У кого-нибудь есть дополнительная информация?
Update: я определил ответ на этот вопрос с помощью исследования, и он опубликован ниже.
Как я могу использовать Linq для подкачки общей коллекции?
У меня есть объект типа System.Generic.Collections.List(Of MyCustomClass).
Учитывая целочисленные вариабли pagesize и pagenumber, как я могу запросить только одну страницу MyCustomClass объектов?
Visual Web Developer (Express): настройка корня документа для среды разработки
Я разрабатываю сайт в Visual Web Dev Express, и когда я run/debug,, я хотел бы иметь возможность установить корень документа моего приложения, чтобы я мог использовать более безопасные пути, такие как "/css/style.css "вместо"css/style.css". Как мне это сделать?
Страница общей коллекции без Linq
У меня есть объект типа System.Generic.Collections.List(Of MyCustomClass).
Учитывая целочисленные varaibles pagesize и pagenumber, как я могу собрать только одну страницу объектов MyCustomClass ?
Вот что у меня есть. Как я могу улучшить его?
'my given collection and paging parameters
Dim AllOfMyCustomClassObjects As System.Collections.Generic.List(Of MyCustomClass) = GIVEN
Dim pagesize As Integer = GIVEN
Dim pagenumber As Integer = GIVEN
'collect current page objects
Dim PageObjects As New System.Collections.Generic.List(Of MyCustomClass)
Dim objcount As Integer = 1
For Each obj As MyCustomClass In AllOfMyCustomClassObjects
If objcount > pagesize * (pagenumber - 1) And count <= pagesize * pagenumber Then
PageObjects.Add(obj)
End If
objcount = objcount + 1
Next
'find total page count
Dim totalpages As Integer = CInt(Math.Floor(objcount / pagesize))
If objcount Mod pagesize > 0 Then
totalpages = totalpages + 1
End If
Какие фреймворки внедрения зависимостей .NET стоит изучить?
Какие фреймворки внедрения зависимостей C#/.NET стоит изучить? А что уж говорить об их сложности и скорости.
Можно ли совместно использовать транзакцию между приложением .Net и объектом COM+?
Некоторое время назад я провел несколько тестов и так и не понял, как это сделать.
Ингредиент:
- COM + транзакционный объект (разработан в VB6)
- .Net веб-приложение (с транзакцией) в IIS что...
выполняет вызов компонента COM+
обновление строки в базе данных SQL
Тестирование :
Запустите приложение .Net и принудительно создайте исключение.
Результат :
Обновление, выполненное из приложения .Net, откатывается назад.
Обновление, выполненное объектом COM+, не откатывается.
Если я вызываю объект COM+ со старой страницы ASP, откат срабатывает.
Я знаю, что некоторые люди могут думать: "что?! COM+ и .Net вы, должно быть, сошли с ума!", но есть некоторые места в этом мире, где все еще есть много компонентов COM+. Мне просто было любопытно, сталкивался ли кто-нибудь с этим и выяснил ли ты, как это сделать.
.NET-получить протокол, хост и порт
Есть ли простой способ в .NET быстро получить текущий протокол, хост и порт? Например, если я нахожусь на следующем URL:
http://www.mywebsite.com:80/pages/page1.aspx
Мне нужно вернуться:
http://www.mywebsite.com:80
Я знаю, что могу использовать Request.Url.AbsoluteUri для получения полного URL, и я знаю, что могу использовать Request.Url.Authority для получения хоста и порта, но я не уверен в лучшем способе получения протокола без разбора строки URL.
Есть какие-нибудь предложения?
Как вы передаете сообщения/ошибки уровня обслуживания на более высокие уровни с помощью MVP?
В настоящее время я пишу приложение ASP.Net от UI вниз. Я внедряю архитектуру MVP, потому что я устал от Winforms и хотел чего-то, что имело лучшее разделение проблем.
Таким образом, с MVP презентатор обрабатывает события, вызванные представлением. Вот некоторый код, который у меня есть, чтобы иметь дело с созданием пользователей:
public class CreateMemberPresenter
{
private ICreateMemberView view;
private IMemberTasks tasks;
public CreateMemberPresenter(ICreateMemberView view)
: this(view, new StubMemberTasks())
{
}
public CreateMemberPresenter(ICreateMemberView view, IMemberTasks tasks)
{
this.view = view;
this.tasks = tasks;
HookupEventHandlersTo(view);
}
private void HookupEventHandlersTo(ICreateMemberView view)
{
view.CreateMember += delegate { CreateMember(); };
}
private void CreateMember()
{
if (!view.IsValid)
return;
try
{
int newUserId;
tasks.CreateMember(view.NewMember, out newUserId);
view.NewUserCode = newUserId;
view.Notify(new NotificationDTO() { Type = NotificationType.Success });
}
catch(Exception e)
{
this.LogA().Message(string.Format("Error Creating User: {0}", e.Message));
view.Notify(new NotificationDTO() { Type = NotificationType.Failure, Message = "There was an error creating a new member" });
}
}
}
У меня есть моя основная проверка формы, выполненная с использованием встроенных элементов управления проверкой .Net, но теперь мне нужно проверить, что данные достаточно удовлетворяют критериям для уровня сервиса.
Допустим, могут отображаться следующие сообщения уровня сервиса:
- Учетная запись электронной почты уже существует (сбой)
- Ссылка на введенного пользователя не существует (сбой)
- Длина пароля превышает допустимую длину хранилища данных (сбой)
- Участник создан успешно (success)
Предположим также, что на уровне сервиса будет больше правил, которые UI не может предвидеть.
В настоящее время у меня есть уровень сервиса, который бросает исключение, если все пошло не так, как планировалось. Это достаточная стратегия? Этот код пахнет для вас, ребята? Если бы я написал такой уровень сервиса, вы были бы раздражены необходимостью писать докладчиков, которые используют его таким образом? Коды возврата кажутся слишком старой школой, и bool просто недостаточно информативен.
Редактировать не по OP: слияние в последующих комментариях, которые были опубликованы в качестве ответов OP
Cheekysoft, мне нравится концепция a ServiceLayerException. У меня уже есть глобальный модуль исключений для исключений, которые я не ожидаю. Считаете ли вы, что все эти пользовательские исключения утомительны? Я думал, что ловить базовый класс исключений было немного вонючим, но не был точно уверен, как продвигаться оттуда.
tgmdbm, мне нравится умное использование выражения lambda там!
Спасибо Cheekysoft за последующие действия. Поэтому я предполагаю, что это будет стратегия, если вы не возражаете, чтобы пользователь отображал отдельную страницу (Я в первую очередь веб-разработчик), если исключение не обрабатывается.
Однако, если я хочу вернуть сообщение об ошибке в том же представлении, где пользователь представил данные, вызвавшие ошибку, мне придется поймать исключение в Презентаторе?
Вот как выглядит CreateUserView, когда ведущий обработал ServiceLayerException:
Для такого рода ошибок, это хорошо, чтобы сообщить об этом в том же представлении.
В любом случае, я думаю, что сейчас мы выходим за рамки моего первоначального вопроса. Я поиграю с тем, что вы опубликовали, и если мне понадобится дополнительная информация, я отправлю новый вопрос.
Список или BusinessObjectCollection?
До появления универсальных моделей C# все кодировали коллекции для своих бизнес-объектов, создавая базу коллекций, реализующую IEnumerable
IE:
public class CollectionBase : IEnumerable
и тогда они получат свои коллекции бизнес-объектов из этого.
public class BusinessObjectCollection : CollectionBase
Теперь с общим классом списка, кто-нибудь просто использует это вместо этого? Я обнаружил, что использую компромисс двух методов:
public class BusinessObjectCollection : List<BusinessObject>
Я делаю это, потому что мне нравится иметь строго типизированные имена, а не просто передавать списки.
Каков ваш подход?
Как использовать BITS для загрузки с пути UNC?
Как лучше всего распространять файлы пользователям в удаленных офисах, используя BITS с UNC путем или BITS с HTTP? У меня есть проект VB.NET, который в настоящее время загружается с пути HTTP, но есть дополнительная сложность (например, наличие веб-сервера).
Или есть лучший способ сделать это? Низкое использование полосы пропускания более важно, чем скорость синхронизации.
Механизм правил с открытым исходным кодом с приличным интерфейсом для написания правил
Я пытаюсь найти механизм бизнес-правил с открытым исходным кодом, который имеет приличный интерфейс для построения правил.
OR по крайней мере один, который хорошо работает на платформе .Net и был обновлен где-то за последние 12 месяцев.
Спасибо,
System.Web.Caching против блока кэширования корпоративной библиотеки
Для компонента .NET, который будет использоваться как в веб-приложениях, так и в богатых клиентских приложениях, существует два очевидных варианта кэширования: System.Web.Caching или Ent. Библиотека. Блок Кэширования.
- Что вы используете?
- Почему?
System.Web.Caching
Является ли это безопасным для использования вне веб-приложений? Я видел смешанную информацию, но думаю, что ответ будет maybe-kind-of-not-really.
- a KB статья предупреждение против использования 1.0 и 1.1 не веб-приложений
- На странице 2.0 есть комментарий , который указывает, что это OK: http://msdn.microsoft.com/en-us/library/system.web.caching.cache(VS.80).aspx
- Скотта Хансельмана пугает эта идея
- Страница 3.5 содержит предупреждение против такого использования
- Роб Говард поощрял использование вне веб-приложений
Я не собираюсь использовать один из его основных моментов, SqlCacheDependency, но добавление CacheItemUpdateCallback в .NET 3.5 кажется действительно хорошей вещью.
Блок Приложений Кэширования Корпоративной Библиотеки
- другие блоки уже используются, поэтому зависимость уже существует
- сохраняемость кэша не требуется; регенерация кэша при перезапуске составляет OK
Некоторые элементы кэша должны быть всегда доступны, но периодически обновляться. Для этих элементов получение обратного вызова после удаления элемента не очень удобно. Похоже, что клиенту придется просто спать и опрашивать, пока элемент кэша не будет повторно заполнен.
Memcached для клиента Win32 + .NET
Каковы плюсы и минусы, когда вам не нужен распределенный кэш?
Динамический рендеринг asp:Image из BLOB записи в ASP.NET
Вот чего я хочу добиться. Я хочу дать пользователю возможность загрузить файл изображения, сохранить изображение в BLOB на сервере SQL, а затем использовать это изображение в качестве логотипа на других страницах сайта.
Я сделал это с помощью
Response.Clear();
Response.ContentType = "image/pjpeg";
Response.BinaryWrite(imageConents);
Response.End();
но для этого я использую пользовательский элемент управления в том месте, где я хочу показать изображение. Я хочу сделать это, если это возможно, используя элемент управления asp:Image или даже чистый старый элемент управления html image. Разве это возможно?
IntelliSense для объектов XElement со схемой XML
Читая статью под названием "Increase LINQ Query Performance" в июльском журнале MSDN, автор утверждает, что использование Imports в VB, предоставляющего путь к схеме в текущем проекте, включит IntelliSense для XElement. В предоставленном коде он использует операторы типа xelement.@name для восстановления значений атрибутов и так далее.
Я не пробовал это сам в VB, но я хотел бы использовать это в C#., это действительно похоже на LINQ до XSD.
Есть ли эквивалент в C#? кажется, что невозможно использовать пространство имен внутри кода C#, нет эквивалента using для этого оператора Import .
Программное шифрование конфигурационного файла внутри .NET
Не мог бы кто-нибудь сделать краткое описание того, как программно зашифровать конфигурационный файл в .NET, предпочтительно в C#.
Я бы хотел сделать что-то вроде проверки запуска приложения, чтобы увидеть, является ли раздел незащищенным, и если да, то зашифровать его. Это касается как настроек, так и строк подключения.
Также если бы кто-нибудь мог перечислить типы шифровальщиков и в чем разница между ними.
Я не знаю, является ли код для выполнения этого в обычном WinForms-приложении прозрачным для выполнения этого в ASP.NET.
WPF способ устранения сглаживания
Сглаживание не может быть отключено в WPF. Но я хочу удалить размытый вид шрифтов WPF, когда они маленькие.
Одним из возможных вариантов было бы использование компонента .net 2.0. Это выглядит так, как будто он потеряет способность прозрачности и поддержку смешивания. Хотя никогда не пробовал.
У кого-нибудь есть решение для этого? Есть ли у него какие-то недостатки?
Спасибо
Загрузка сборок и ее зависимостей
Мое приложение динамически загружает сборки во время выполнения из определенных вложенных папок. Эти сборки компилируются с зависимостями от других сборок. Среда выполнения пытается загрузить их из каталога приложений. Но я хочу поместить их в каталог модулей.
Есть ли способ сообщить среде выполнения, что библиотеки DLL находятся в отдельной подпапке?
Использование управления диаграммой Ганта MS Project в C#
Кто-нибудь использовал MS Project Gantt chart control в C#? Если да, то не могли бы вы поделиться некоторыми ресурсами по этому поводу?
Управление по сравнению со стандартным HTML
Я вхожу в ASP.NET (C# - я знаю, что это не имеет значения для этого конкретного вопроса, но полное раскрытие и все такое), и хотя мне нравится, что элементы управления в стиле asp: избавляют меня от многих утомительных HTML-крафтов, я часто разочаровываюсь в определенных поведениях. Вчера вечером я столкнулся с одним из них при работе с главными страницами: мой <asp:BulletedList ID="nav"> , преобразованный в HTML, стал <ul id="ct100_nav"> .
Есть и другие проблемы-я заметил, что когда вы автоматически заполняете a DataGrid, он добавляет атрибуты к результирующей таблице, которые мне не обязательно там нужны.
Я знаю, что есть определенное количество "convention over configuration", которое вы должны принять, когда вы полагаетесь на рамки, чтобы взять на себя некоторые из ваших утомительных обязанностей, но "conventions" в этих случаях не столько какие-то установленные условности, а скорее ненужные дополнения. Я знаю, почему ID добавляет префикс, но я должен быть в состоянии настроить и отключить подобные вещи, тем более что, будучи немного евангелистом веб-стандартов, я все равно не дублирую HTML id на одной странице.
Поэтому вопрос здесь для тех разработчиков ASP.NET, которые более опытны, чем я: в вашем опыте разработки и развертывания приложений, как вы используете эти элементы управления? Может быть, вы снова прибегаете к жесткому коду HTML? Вы пользуетесь смесью? Я не хочу создавать свой HTML вокруг идиосинкразических причуд в этих элементах управления, но, если это возможно, я хотел бы использовать их, когда это возможно.
А что делать мальчику?
В чем разница между HttpHandler и веб-пользовательским элементом управления и когда использовать каждый из них?
Я широко использую пользовательские элементы управления, но никогда не использую HttpHandler, и мне было интересно, делаю ли я что-то неоптимальное или неправильное
ADO.NET отображение из SQLDataReader в объект домена?
У меня есть очень простая функция отображения под названием "BuildEntity", которая выполняет обычное скучное кодирование "left/right", необходимое для сброса данных читателя в мой доменный объект. (показано ниже) мой вопрос заключается в следующем - если я не возвращаю каждый столбец в этом отображении как есть, я получаю исключение "System.IndexOutOfRangeException" и хочу знать, есть ли у ado.net что-нибудь, чтобы исправить это, поэтому мне не нужно возвращать каждый столбец с каждым вызовом в SQL ...
То, что я действительно ищу, - это что-то вроде "IsValidColumn", поэтому я могу сохранить эту функцию 1 mapping в своем классе DataAccess со всеми определяемыми левыми/правыми отображениями-и заставить ее работать, даже если sproc не возвращает все перечисленные столбцы ...
Using reader As SqlDataReader = cmd.ExecuteReader()
Dim product As Product
While reader.Read()
product = New Product()
product.ID = Convert.ToInt32(reader("ProductID"))
product.SupplierID = Convert.ToInt32(reader("SupplierID"))
product.CategoryID = Convert.ToInt32(reader("CategoryID"))
product.ProductName = Convert.ToString(reader("ProductName"))
product.QuantityPerUnit = Convert.ToString(reader("QuantityPerUnit"))
product.UnitPrice = Convert.ToDouble(reader("UnitPrice"))
product.UnitsInStock = Convert.ToInt32(reader("UnitsInStock"))
product.UnitsOnOrder = Convert.ToInt32(reader("UnitsOnOrder"))
product.ReorderLevel = Convert.ToInt32(reader("ReorderLevel"))
productList.Add(product)
End While
Аутентификация на веб-сайте авторизации форм ASP.Net из консольного приложения
Я пытаюсь создать консольное приложение C#, чтобы автоматизировать захват определенных файлов с нашего сайта, в основном, чтобы сэкономить клики и, честно говоря, просто сделать это. Но я попал в ловушку, для которой я не смог найти рабочего решения.
Веб-сайт, к которому я пытаюсь подключиться, использует авторизацию форм ASP.Net, и я не могу понять, как аутентифицировать себя с ним. Это приложение является полным Хак, так что я могу жесткий код моего имени пользователя и пароля или любой другой необходимой информации auth, и само решение не должно быть что-то, что является достаточно жизнеспособным, чтобы освободить для обычных пользователей. Другими словами, если единственным возможным решением является взлом, я в порядке с этим.
В принципе, я пытаюсь использовать HttpWebRequest, чтобы вытащить сайт, который имеет список файлов, повторяя этот список, а затем загружая то, что мне нужно. Таким образом, фактическая работа на сайте довольно тривиальна, как только я могу заставить сайт считать меня авторизованным.
Как отправить email в локальное время пользователя на сервере .NET / Sql?
Я пишу программу, которая должна посылать email каждый час на час, но в то же время локально для пользователя.
Скажем, у меня есть 2 пользователя в разных часовых поясах. Джон сейчас в Нью-Йорке, а Фред-в Лос-Анджелесе. Сервер находится в Чикаго. Если я хочу отправить email в 6.30 локально каждому пользователю,мне придется отправить email Джону в 7 вечера по серверному времени и Фреду в 4 часа по серверному времени.
Каков хороший подход к этому в .NET / Sql сервере? Я нашел файл xml со всей информацией о часовом поясе, поэтому я подумываю написать сценарий для импорта его в базу данных, а затем запросить его.
Edit: я использовал “t4znet.dll " и сделал все сравнения на стороне .NET.
Автоматическое обнаружение удаленных серверов. Транслировать или нет?
У меня есть клиент / серверное приложение, которое взаимодействует с .Net remoting. Мне нужно, чтобы мои клиенты могли найти сервер(ы) в сети, не требуя настройки на стороне клиента.
Насколько мне известно, в удаленном доступе нет никакой поддержки для обнаружения. Я готов реализовать решение UDP, в котором клиенты смогут найти серверы с помощью широковещательных сообщений.
Я хочу услышать коллективную мудрость SO, прежде чем идти вперед. Разве это лучший способ? Есть еще какие-нибудь предложения?
Как поздно привязать 32-битные/64-битные библиотеки во время выполнения
У меня есть проблема,похожая на описанную здесь , но немного отличающаяся от нее (загрузка сборок и их зависимостей).
У меня есть C++ DLL для рендеринга 3D, который мы продаем клиентам. Для пользователей .NET мы будем иметь обертку CLR вокруг него. C++ DLL может быть построен как в 32-х, так и в 64-битных версиях, но я думаю, что это означает, что нам нужно иметь две оболочки CLR, так как CLR привязывается к конкретному DLL?
Скажем, теперь у нашего клиента есть приложение .NET, которое может быть либо 32, либо 64-битным, и что это чистое приложение .NET, которое оставляет CLR, чтобы разработать его из одного набора сборок. Вопрос в том, как код приложения может динамически выбирать между нашими 32-битными и 64-битными комбинациями CLR/DLL во время выполнения?
Даже более конкретно, применим ли предлагаемый ответ на вышеупомянутый вопрос и здесь (т. е. создать обработчик ResolveEvent)?
WCF push к клиенту через брандмауэр?
Смотрите также, Как информирует сервер WCF
клиент WCF об изменениях? (Лучше
решение тогда простой опрос, например
Комент или длинный опрос)
Смотрите также, Как информирует сервер WCF клиент WCF об изменениях? (Лучше решение тогда простой опрос, например Комент или длинный опрос)
Мне нужно использовать push-технологию с WCF через клиентские брандмауэры. Это должно быть распространенная проблема, и я знаю, что она работает в теории (см. ссылки ниже), но мне не удалось заставить ее работать, и я не смог найти образец кода, который демонстрирует это.
Требования:
- WCF
- Клиенты подключаются к серверу через порт tcp 80 (netTcpBinding).
- Сервер возвращает информацию с нерегулярными интервалами (от 1 минуты до нескольких часов).
- Пользователи не должны настраивать свои брандмауэры, серверные толчки должны проходить через брандмауэры, у которых закрыты все входящие порты. TCP дуплекс на том же соединении необходим для этого, двойная привязка не работает, так как порт должен быть открыт на клиентском брандмауэре.
- Клиенты посылают сердцебиения на сервер через регулярные промежутки времени (возможно, каждые 15 минут), чтобы сервер знал, что клиент все еще жив.
- Сервер-это IIS7 с WAS.
Решение, по-видимому, дуплекс netTcpBinding. На основании этой информации:
Сохранение открытых соединений в IIS
Но мне еще предстоит найти образец кода, который работает.. Я попытался объединить образцы "Duplex" и "TcpActivation" из образцов WCF Microsoft, но безуспешно. Пожалуйста, кто-нибудь может указать мне пример кода, который работает, или построить небольшой пример приложения. Большое спасибо!
jQuery AJAX против UpdatePanel
У нас есть страница с тонной jQuery (примерно 2000 строк), которую мы хотим обрезать b/c это кошмар обслуживания, и его может быть проще поддерживать на сервере. Мы подумали о том, чтобы использовать для этого UpdatePanel. Однако нам не нравится тот факт, что UpdatePanel отправляет всю страницу обратно на сервер.
Этот выпадающего 2, зависит от выпадающих 1
У меня есть вид формы, в шаблоне редактирования у меня есть два раскрывающихся списка. Выпадающий список 1 явно задается со списком разрешенных значений. Он также установлен на autopostback. Выпадающий список 2 привязан к объекту objectdatasource, этот объект objectdatasource использует первый выпадающий список в качестве одного из своих параметров. (Идея заключается в том, что выпадающий 1 ограничивает то, что показано в выпадающем 2)
При первом просмотре шаблона редактирования элемента он работает нормально. Но если в выпадающем списке 1 выбран другой элемент, он возвращается назад и генерирует ошибку
Методы привязки данных, такие как Eval(), XPath(), и Bind() можно только использовать в контексте элемента управления с привязкой к базе данных.
Вот выпадающий список #2:
<asp:DropDownList ID="ProjectList" runat="server" SelectedValue='<%# Bind("ConnectToProject_ID","{0:D}") %>' DataSourceID="MasterProjectsDataSource2" DataTextField="Name" DataValueField="ID" AppendDataBoundItems="true">
<asp:ListItem Value="0" Text="{No Master Project}" Selected="True" />
</asp:DropDownList>
А вот и MasterProjectDataSource2:
<asp:ObjectDataSource ID="MasterProjectsDataSource2" runat="server"
SelectMethod="GetMasterProjectList" TypeName="WebWorxData.Project" >
<SelectParameters>
<asp:ControlParameter ControlID="RPMTypeList" Name="RPMType_ID"
PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
Любая помощь в том, как заставить это работать, будет очень оценена.
Почему сжатие ASP.NET gzip портит CSS?
У меня есть приложение ASP.NET webforms (3.5 SP1), над которым я работаю, и пытаюсь включить gzip fpr HTML и CSS, которые спускаются по трубе. Я использую эту реализацию (и попробовал несколько других, которые подключаются к Application_BeginRequest), и, похоже, она разрушает внешний файл CSS, который используют страницы, но intermittently...suddenly все стили исчезнут при обновлении страницы, останутся на некоторое время, а затем внезапно снова начнут работать.
И IE7, и FF3 демонстрируют такое поведение. При просмотре CSS с помощью панели инструментов веб-разработчика, он возвращает тарабарщина. Заголовок cache-control проходит как "private,", но я не знаю достаточно, чтобы выяснить, является ли это фактором, способствующим или нет.
Кроме того, это выполняется на сервере разработки ASP.NET. Может быть, это было бы хорошо с IIS, но я разрабатываю на XP, и это будет IIS5.
Как мне кластеризировать папку загрузки с ASP.Net?
У нас есть ситуация, когда пользователям разрешено загружать контент, а затем отдельно вносить некоторые изменения, а затем отправлять форму на основе этих изменений.
Это прекрасно работает в односерверной среде, отличной от failover, однако мы хотели бы получить какое-то решение для совместного использования файлов между серверами, поддерживающими failover.
Кто-нибудь сталкивался с этим в прошлом? И какие решения вы смогли разработать? Очевидно, что сохранение в базе данных является одним из вариантов, но мы предпочли бы избежать этого.
441   4   03:18, 9th August, 2020
ASP.NET учебники
можете ли вы порекомендовать несколько хороших учебников ASP.NET или хорошую книгу? Должен ли я сразу перейти к ASP.NET MVC/html/javascript или сначала изучить веб-формы?
Спасибо
Рекомендации по отлову и повторному выбрасыванию исключений .NET
Какие рекомендации следует учитывать при перехвате исключений и повторном их отбрасывании? Я хочу убедиться, что InnerException объекта Exception и стек trace сохранены. Есть ли разница между следующими блоками кода в том, как они обрабатывают это?
try
{
//some code
}
catch (Exception ex)
{
throw ex;
}
Против:
try
{
//some code
}
catch
{
throw;
}
Как декодировать viewstate
Мне нужно увидеть содержимое viewstate страницы asp.net. Я искал декодер viewstate, нашел декодер ViewState Fridz Onion , но он запрашивает url страницы, чтобы получить ее viewstate. Поскольку мое viewstate формируется после обратной передачи и приходит в результате операции в панели обновления, я не могу предоставить url. Мне нужно скопировать & вставить строку viewstate и посмотреть, что там внутри. Существует ли инструмент или веб-сайт, который может помочь просматривать содержимое viewstate?
ASP.NET-создание собственной системы маршрутизации
В недавнем проекте я построил свой собственный фреймворк MVC в PHP. Одной из вещей, которые я реализовал, была система маршрутизации. Я использовал mod_rewrite Apache для отправки всех запросов в index.php, а затем проанализировал URI, чтобы извлечь информацию и направить запрос.
Сейчас я занимаюсь ASP.NET, и мне интересно, могу ли я выполнить что-то подобное. Есть ли способ направить все запросы (подобно тому, как это делает WordPress) на одну страницу, где выполняется центральная обработка маршрута? Я знаю о структуре MVC для ASP.NET, но я хотел бы попробовать это сам, поскольку я занимаюсь этим и учусь.
EDIT: BTW, мой хостинг-провайдер запускает IIS 6
Как сделать так, чтобы ведущие нули могут быть зачищены при импорте excel doc с использованием c#
Я могу подключиться к файлу excel и прочитать его без проблем. Но при импорте таких данных, как zipcodes, которые имеют ведущие нули, как предотвратить excel от угадывания типа данных и в процессе удаления ведущих нулей?
CSV (или лист в XLS) до SQL создание (и вставка) операторов с .Net?
Есть ли у кого-нибудь техника для создания команд SQL table create (и Data insert) прагматически из CSV (или листа в a .xls) файл?
У меня есть сторонняя система баз данных, которую я хотел бы заполнить данными из файла csv (или листа в файле xls), Но поставляемый импортер не может создать структуру таблицы автоматически, как это делает импорт. В моем файле csv есть много таблиц с большим количеством столбцов, поэтому я хотел бы автоматизировать процесс создания таблиц, а также импорт данных, если это возможно, но я не уверен, как приступить к созданию инструкции create...
Кто-нибудь знает о существующем коде для чтения файла mork (адресная книга Thunderbird)?
Мне нужно прочитать адресную книгу Thunderbird на лету. Он хранится в формате файла под названием Mork. Не очень приятный формат файла для чтения. Я нашел статью 1999 года, объясняющую формат файла. Я хотел бы знать, если кто-то уже прошел через этот процесс и может сделать код доступным. Я нашел mork.pl Джейми Завински (он работал на Netscape Navigator), но я надеялся на a .NET решение.
Я надеюсь, что StackOverflow придет на помощь, потому что это просто кажется пустой тратой моего времени, чтобы написать что-то, чтобы прочитать этот формат файла, когда это должно быть так просто.
Мне нравятся комментарии, которые Джейми вставил в свой сценарий perl . Вот моя любимая часть:
# Let me make it clear that McCusker is a complete barking lunatic.
# This is just about the stupidest file format I've ever seen.
ASP.Net: как сделать разбиение на страницы с повторителем?
Я использую элемент управления Repeater на своем сайте для отображения данных из базы данных. Мне нужно сделать разбиение на страницы ("теперь отображается страница 1 из 10", 10 элементов на странице и т. д.), Но я не уверен, что я собираюсь сделать это наилучшим образом.
Я знаю, что управление повторителем не имеет встроенной пагинации, поэтому мне придется сделать свой собственный. Есть ли способ сообщить элементу управления DataSource, чтобы он возвращал строки 10-20 гораздо большего результирующего набора? Если нет, то как мне записать это в запрос (SQL Server 2005)? В настоящее время я использую ключевое слово TOP, чтобы вернуть только первые 10 строк, но я не уверен, как отобразить строки 10-20.
Форма post не содержит textbox данных [ASP.NET C#]
У меня есть несколько элементов управления " ASP:TextBox " на форме (около 20).
При загрузке формы текстовые поля заполняются из базы данных.
Пользователь может изменить заполненные значения, и когда они отправляют форму, я беру значения, отправленные на сервер, и условно сохраняю их (определяется некоторой бизнес-логикой).
Все текстовые поля, кроме 1, работают по назначению.
Нечетное поле out при обратной передаче не содержит обновленного значения, введенного пользователем в поле.
При отладке приложения становится ясно, что myTextBox.Text отражает старое, предварительно заполненное значение, а не новое, предоставленное пользователем.
Во всех остальных окнах правильно отображаются соответствующие значения, предоставленные пользователем.
Я действительно нашел обходной путь.
Мое решение состояло в основном в извлечении значения текстового поля из объекта Request.Form : Request.Form[myTextBox.UniqueID], который действительно содержит предоставленное пользователем значение.
Что же здесь происходит?
Как я уже упоминал, другие текстовые поля получают предоставленные пользователем значения просто отлично, и это конкретное проблемное текстовое поле не имеет никакой логики, связанной с ним-оно просто принимает значение и сохраняет его.
Основное отличие этого текстового поля от других заключается в том, что это многострочное поле (для ввода заметок), которое, как я полагаю, отображается как тег HTML "textarea" вместо тега "input" в ASP.NET.
CruiseControl.Net Build Publisher-публиковать только скомпилированные файлы
При настройке CruiseControl я добавил блок buildpublisher в задачи издателя:
<buildpublisher>
<sourceDir>C:\MyBuild\</sourceDir>
<publishDir>C:\MyBuildPublished\</publishDir>
<alwaysPublish>false</alwaysPublish>
</buildpublisher>
Это работает, но он копирует все содержимое файла сборки, я только хочу скопировать страницы DLL и .aspx, мне не нужен исходный код для публикации.
Кто-нибудь знает способ фильтровать это, или мне нужно настроить задачу для запуска скрипта RoboCopy вместо этого?
Как лучше всего справиться с кэшем и кнопкой возврата браузера?
Как лучше всего обращаться с пользователем, возвращающимся на страницу, на которой были кэшированы элементы в приложении asp.net? Есть ли хороший способ захватить кнопку Назад (событие?) и обрабатывать кэш таким образом?
Необходимо проверить условие таймаута ajax
Как говорится в заголовке, у меня есть обработчик обратного вызова таймаута на вызове ajax, и я хочу иметь возможность проверить это условие, но ничего не приходит в голову сразу о том, как я могу заставить мое приложение попасть в это состояние, есть какие-либо предложения?
Почему String.Format статичен?
Сравнивать
String.Format("Hello {0}", "World");
с
"Hello {0}".Format("World");
Почему конструкторы .Net выбрали статический метод вместо метода экземпляра? А ты как думаешь?
Бесплатные темы ASP.Net и / или CSS
Где я могу получить некоторые прилично выглядящие бесплатные темы ASP.Net или CSS?
Чему я должен научиться, чтобы повысить свои навыки?
Мой путь к 'fulltime' - разработчику изложен как аналитик, использующий VBA с Excel, Access, а затем на C#. я пошел в колледж на неполный рабочий день, как только обнаружил, что у меня есть страсть к кодированию, а не бизнесу.
Я делаю большую часть своего кода в C#,, но будучи разработчиком ASP.NET, я также пишу в HTML, JavaScript, SQL и т. д. . . Обычные подозреваемые.
Мне нравится продолжать двигаться вперед, чтобы найти край, который приведет меня к следующему уровню, следующей работе и, конечно, больше денег. Самое главное, я просто хочу узнать что-то новое и бросить вызов себе.
Недавно я потратил время на изучение LINQ, но мне было интересно, что я должен узнать дальше? Что-то на фреймворке .NET или новая языковая технология?
CruiseControl.NET и NAnt
У меня есть проект CC.NET, настроенный для вызова общего файла сборки NAnt, который выполняет некоторые действия, а затем вызывает дочерний файл сборки NAnt. Имя дочернего файла сборки указывается параметром CC.NET в файле сборки команды с помощью свойства.
Препятствие, которое я пытаюсь преодолеть, заключается в том, что общий журнал файлов сборки перезаписывается дочерним журналом файлов сборки, поэтому я не получаю общий журнал сборки в журнале сборки CC.NET.
У кого-нибудь есть идеи, как это исправить?
Я думал об изменении журнала дочерней сборки, но чтение задачи NAnt <nant> не позволяет мне изменить журнал вывода ребенка.
Алгоритм за MD5Crypt
Я работаю с Subversion на основе Windows и хотел бы написать простую утилиту в .NET для работы с файлом пароля Apache. Я понимаю, что он использует функцию, называемую MD5Crypt, но я не могу найти описание алгоритма, кроме того, что в какой-то момент он использует MD5 для создания hash.
Может ли кто-нибудь описать алгоритм MD5Crypt и формат строки пароля?
Что делает IISReset?
На IIS 6, что делает сброс IIS?
Пожалуйста, сравните с переработкой пула приложений и остановкой и запуском веб-сайта ASP.NET.
Если вы заменяете DLL или редактируете / заменяете web.config на веб-сайте ASP.NET, это то же самое, что остановить и запустить этот веб-сайт?
Каковы преимущества и недостатки использования GAC?
И кроме того, есть ли случаи, когда нужно использовать глобальный кэш assembly или когда его нельзя использовать?
Системы отчетности для ASP.NET
Каковы лучшие инструменты отчетности с открытым исходным кодом (open source и коммерческие) для ASP.NET, аналогичные Crystal Reports для ASP.NET?
Естественный язык Дата / Время парсер для .NET?
Кто-нибудь знает о парсере даты и времени .NET, похожем на хронический для Ruby (обрабатывает такие вещи, как "tomorrow" или "3 часа дня в следующий четверг")?
Примечание: Я действительно пишу Ruby (именно так я знаю о хроническом), но этот проект должен использовать .NET.
Изменение политики безопасности .NET стандартными пользователями?
Политика безопасности .NET может быть изменена из сценария с помощью CasPol.exe . Скажем, я буду распространять приложение для нескольких пользователей в локальной сети. Большинство из этих пользователей будут непривилегированными, стандартными учетными записями, поэтому у них не будет необходимых разрешений для соответствующей команды.
Я думаю, что буду искать сценарии входа в домен. Есть ли какие-то альтернативные сценарии? Есть ли решения для сетей без домена?
Edit: я обязан использовать версию фреймворка 2.0
Есть ли у вас какие-либо советы по улучшению производительности ReSharper и/или Visual Studio?
Я использую visual studio 2008 и ReSharper 4, и это довольно медленно. Моя машина имеет 2 GB из RAM, двухъядерный процессор и жесткий диск 7200 оборотов в минуту. Я знаю, что более RAM и более быстрый жесткий диск могут улучшить производительность, но есть ли у вас какие-либо советы по улучшению производительности ReSharper/Visual Studio?
Лучшие практики для рефакторинга классического ASP?
Я должен сделать некоторые значительные разработки в большой, старой, спагеттированной системе ASP. Я долгое время был вдали от ASP, сосредоточив свою энергию на Rails развитии.
Один из основных шагов, который я предпринял, - это рефакторинг страниц в суб-файлы и функции со значимыми именами, чтобы, по крайней мере, было легко понять, что происходит в верхней части файла.
Есть ли достойная MVC структура для ASP? Или это лучшая практика, как по крайней мере получить бизнес-логику из представлений? (Я помню, что в свое время делал много включений-это все еще способ сделать это?)
Я бы тоже хотел провести модульное тестирование бизнес-логики, но, может быть, я прошу слишком многого?
Обновление:
В проекте более 200 ASP скриптов, несколько тысяч строк длиной ;) UGH!
Мы можем выбрать "big rewrite", но до тех пор, когда я буду менять страницу, Я хочу потратить немного дополнительного времени на уборку спагетти.
Опыт использования ASP.NET MVC Framework
Мне интересно, что люди испытывают, используя фреймворк ASP.NET MVC? В частности, я ищу обратную связь о типе опыта, который люди имеют, используя фреймворк.
Что люди используют для своего механизма просмотра? Как насчет уровня БД, NHibernate, LINQ до SQL или что-то еще?
Я знаю, что stackoverflow использует MVC, поэтому, пожалуйста, скажите этот сайт.
Спасибо.
Почему выбор NHibernate над всем остальным? Я не против NHibernate, просто интересуюсь рациональным.
Outlook использование надстройки .NET
Мы разрабатываем надстройку Outlook с использованием Visual Studio 2008. Однако я столкнулся со странным поведением при добавлении командной кнопки в пользовательскую панель команд. Это поведение отражается, когда мы добавляем кнопку в ответ, ответить всем и вперед windows. Проблема в том, что заголовок командной кнопки не виден, хотя при отладке с помощью VS он показывает заголовок правильно. Но кнопка без подписи при просмотре в Outlook (2003).
У меня есть фрагмент кода, как показано ниже. Любая помощь будет оценена по достоинству.
private void AddButtonInNewInspector(Microsoft.Office.Interop.Outlook.Inspector inspector)
{
try
{
if (inspector.CurrentItem is Microsoft.Office.Interop.Outlook.MailItem)
{
try
{
foreach (CommandBar c in inspector.CommandBars)
{
if (c.Name == "custom")
{
c.Delete();
}
}
}
catch
{
}
finally
{
//Add Custom Command bar and command button.
CommandBar myCommandBar = inspector.CommandBars.Add("custom", MsoBarPosition.msoBarTop, false, true);
myCommandBar.Visible = true;
CommandBarControl myCommandbarButton = myCommandBar.Controls.Add(MsoControlType.msoControlButton, 1, "Add", System.Reflection.Missing.Value, true);
myCommandbarButton.Caption = "Add Email";
myCommandbarButton.Width = 900;
myCommandbarButton.Visible = true;
myCommandbarButton.DescriptionText = "This is Add Email Button";
CommandBarButton btnclickhandler = (CommandBarButton)myCommandbarButton;
btnclickhandler.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(this.OnAddEmailButtonClick);
}
}
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message.ToString(), "AddButtInNewInspector");
}
}
От Monorail до ASP.Net MVC
В последний раз, когда я брался за нетривиальное приложение .Net/C#, я использовал замок Monorail и, в целом, наслаждался опытом. Early-access/preview выпуски .Net MVC еще не были доступны. Многие "Microsoft shops" теперь найдут решение "official" более привлекательным. Кто-нибудь перешел от Monorail к .Net MVC.
Как вы нашли выключатель?
Каковы самые большие различия в настоящее время?
Начнем с этого .NET
Будучи программистом-самоучкой "amateur", я делаю большую часть программирования в свободное время, для относительно небольших проектов или для небольших утилит, связанных с учебой. Но мне это очень нравится, и за последние пару лет я многому научился. Через различные веб-блоги и веб-сайты я познакомился с управлением версиями, отслеживанием ошибок, модульным тестированием и т. д.
Языки, на которых я сейчас работаю, в основном Delphi (2007 для Win32), а также некоторые PHP. Я был очень доволен обоими (на самом деле, я использую Delphi для довольно большого сайд-проекта), но вещи, которые я видел в .NET (особенно C#)), кажутся мне очень, очень интересными. Однако у меня не было времени, чтобы погрузиться в .NET; кроме того, кажется, что есть некоторые серьезные финансовые трудности, которые нужно преодолеть, прежде чем начать с ним работать (весь стек VS-это довольно большая инвестиция для того, кто не тратит весь свой рабочий день на Программирование).
Так что мой вопрос сводится, собственно, к паре смежных вопросов:
- Какие сильные стороны .NET сделают переход на него стоящим для такого программиста-любителя, как я?
- Что такое хорошие ресурсы для начала работы с .NET/C#, esp. книги?
- Как бы вы построили относительно дешевый стек разработки для .NET?
Я понимаю, что это довольно открытый вопрос, но я действительно не нашел хорошего веб-ресурса, который охватывает эти темы. Кроме того, советы от опытных программистов, таких как вы, ребята, здесь, как правило, бесценны!
Большое спасибо!
Можно Ли Вызвать Событие, Когда Файл Становится Доступным?
В C# я могу использовать объект FileSystemWatcher для наблюдения за определенным файлом и вызывать событие при его создании, изменении и т. д.
Проблема, с которой я сталкиваюсь с этим классом, заключается в том, что он вызывает событие в момент создания файла, даже если процесс, который создал файл, все еще находится в процессе записи. Я обнаружил, что это очень проблематично, особенно если я пытаюсь прочитать что-то вроде документа XML, где файл должен иметь некоторую структуру, которая не будет существовать до тех пор, пока он не будет завершен.
Делает.NET (предпочтительно 2.0) есть ли способ вызвать событие после того, как файл станет доступным, или мне нужно постоянно пытаться прочитать файл, пока он не выдаст исключение, чтобы узнать, что он доступен?
Запуск сборок "partially trusted" .NET из общего сетевого ресурса
Когда я пытаюсь запустить .NET assembly ( boo.exe ) из общего сетевого ресурса (подключенного к диску), это не удается, так как он только частично доверен:
Unhandled Exception: System.Security.SecurityException: That assembly does not allow partially trusted callers.
at System.Security.CodeAccessSecurityEngine.ThrowSecurityException(Assembly asm, PermissionSet granted, PermissionSet refused, RuntimeMethodHandle rmh, SecurityAction action, Object demand, IPermission permThatFailed)
at BooCommandLine..ctor()
at Program..ctor()
at ProgramModule.Main(String[] argv)
The action that failed was:
LinkDemand
The assembly or AppDomain that failed was:
boo, Version=0.0.0.0, Culture=neutral, PublicKeyToken=32c39770e9a21a67
The Zone of the assembly that failed was:
Intranet
The Url of the assembly that failed was:
file:///H:/boo-svn/bin/boo.exe
С инструкциями из сообщения в блоге я добавил политику к конфигурации .NET, полностью доверяя всем сборкам с file:///H:/* в качестве их URL. Я проверил это, введя URL file:///H:/boo-svn/bin/boo.exe в средство оценки Assembly в конфигурации .NET и отметив, что boo.exe имеет неограниченное разрешение (которого у него не было до политики).
Даже с разрешения, boo.exe не работает. Я все еще получаю то же самое сообщение об ошибке.
Что я могу сделать, чтобы устранить эту проблему? Есть ли другой способ запустить "partially trusted" сборок из общих сетевых ресурсов без необходимости что-то менять для каждого assembly, который я хочу запустить?
Подключение моей программы к событию переименования windows explorer
Существует ли какой-либо способ на любом языке подключить мою программу, когда пользователь переименовывает файл?
Например: Пользователь переименовывает файл и нажимает enter (или щелкает мышью), чтобы подтвердить действие переименования. BEFORE файл на самом деле переименован, моя программа "listens" к этому событию и выскакивает сообщение со словами "вы уверены, что хотите переименовать C:\test\file.txt в C:\test\test.txt?".
Я думаю / надеюсь, что это возможно с C++, C# или .NET.. Но я не имею ни малейшего понятия, где искать.
SelectNodes не работает на ленте stackoverflow
Я пытаюсь добавить поддержку каналов stackoverflow в моем rss reader, но SelectNodes и SelectSingleNode не имеют никакого эффекта. Вероятно, это как-то связано с пространствами имен ATOM и xml, которые я просто пока не понимаю.
Я заставил его работать, удалив все атрибуты из тега feed , но это хак, и я хотел бы сделать это правильно. Итак, как вы используете SelectNodes с каналами atom?
Вот фрагмент этой ленты.
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:thr="http://purl.org/syndication/thread/1.0">
<title type="html">StackOverflow.com - Questions tagged: c</title>
<link rel="self" href="http://stackoverflow.com/feeds/tag/c" type="application/atom+xml" />
<subtitle>Check out the latest from StackOverflow.com</subtitle>
<updated>2008-08-24T12:25:30Z</updated>
<id>http://stackoverflow.com/feeds/tag/c</id>
<creativeCommons:license>http://www.creativecommons.org/licenses/by-nc/2.5/rdf</creativeCommons:license>
<entry>
<id>http://stackoverflow.com/questions/22901/what-is-the-best-way-to-communicate-with-a-sql-server</id>
<title type="html">What is the best way to communicate with a SQL server?</title>
<category scheme="http://stackoverflow.com/feeds/tag/c/tags" term="c" /><category scheme="http://stackoverflow.com/feeds/tag/c/tags" term="c++" /><category scheme="http://stackoverflow.com/feeds/tag/c/tags" term="sql" /><category scheme="http://stackoverflow.com/feeds/tag/c/tags" term="mysql" /><category scheme="http://stackoverflow.com/feeds/tag/c/tags" term="database" />
<author><name>Ed</name></author>
<link rel="alternate" href="http://stackoverflow.com/questions/22901/what-is-the-best-way-to-communicate-with-a-sql-server" />
<published>2008-08-22T05:09:04Z</published>
<updated>2008-08-23T04:52:39Z</updated>
<summary type="html"><p>I am going to be using c/c++, and would like to know the best way to talk to a MySQL server. Should I use the library that comes with the server installation? Are they any good libraries I should consider other than the official one?</p></summary>
<link rel="replies" type="application/atom+xml" href="http://stackoverflow.com/feeds/question/22901/answers" thr:count="2"/>
<thr:total>2</thr:total>
</entry>
</feed>
решение
XmlDocument doc = new XmlDocument();
XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
nsmgr.AddNamespace("atom", "http://www.w3.org/2005/Atom");
doc.Load(feed);
// successful
XmlNodeList itemList = doc.DocumentElement.SelectNodes("atom:entry", nsmgr);
Почему Response.BufferOutput = False, не работает?
Эта проблема началась на другой доске , но Дэйв Уорд, который был очень быстрым и полезным, тоже здесь, поэтому я хотел бы забрать здесь, надеюсь, последний оставшийся кусочек головоломки.
В основном, я искал способ сделать постоянные обновления веб-страницы из долгого процесса. Я думал, что AJAX - это правильный путь, но у Дэйва есть хорошая статья об использовании JavaScript . Я интегрировал его в свое приложение, и он отлично работал на моем клиенте, но NOT мой сервер WebHost4Life. У меня есть еще один сервер @ Brinkster и решил попробовать его там и он DOES работает. Все коды одинаковы на моем клиенте, WebHost4Life и Бринкстере, так что, очевидно, что-то происходит с WebHost4Life.
Я планирую написать им email или запросить техническую поддержку, но я хотел бы быть активным и попытаться выяснить, что может происходить с их концом, чтобы вызвать эту разницу. Я сделал все возможное с моим кодом, чтобы отключить буферизацию, как Page.Response.BufferOutput = False . Какие настройки сервера они могли бы реализовать, чтобы вызвать эту разницу? Есть ли какой-нибудь способ обойти его самостоятельно, без их помощи? А если нет, то что им нужно будет делать?
Для справки, ссылка на рабочую версию более простой версии моего приложения находится @ http://www.jasoncomedy.com/javascriptfun/javascriptfun.aspx , а та же версия, которая не работает, находится @ http://www.tabroom.org/Ajaxfun/Default.aspx . Вы заметите, что в рабочей версии вы получаете обновления с каждым шагом, но в той, которая этого не делает, он сидит там долгое время, пока все не будет сделано, а затем делает все обновления для клиента сразу ... и от этого мне становится грустно.
Как управляемая память .net обрабатывает типы значений внутри объектов?
public class MyClass
{
public int Age;
public int ID;
}
public void MyMethod()
{
MyClass m = new MyClass();
int newID;
}
public class MyClass
{
public int Age;
public int ID;
}
public void MyMethod()
{
MyClass m = new MyClass();
int newID;
}
Насколько я понимаю, верно следующее:
- Ссылка m живет в стеке и выходит из области видимости при выходе MyMethod().
- Тип значения newID живет в стеке и выходит за пределы области действия при выходе MyMethod().
- Объект, созданный оператором new, живет в куче и становится возвращаемым GC, когда MyMethod() завершает работу, предполагая, что никакой другой ссылки на объект не существует.
Вот мой вопрос:
- Существуют ли типы значений внутри объектов в стеке или куче?
- Является ли бокс / распаковка типов значений в объекте проблемой?
- Есть ли какие-либо подробные, но понятные ресурсы по этой теме?
Логически я бы предположил, что типы значений внутри классов будут находиться в куче, но я не уверен, что они должны быть упакованы, чтобы попасть туда.
Редактировать:
Рекомендуемое чтение для этой темы:
Windows: список и запуск приложений, связанных с расширением
Как определить приложения, связанные с конкретным расширением (например .JPG) , а затем определить, где находится исполняемый файл для этого приложения, чтобы его можно было запустить с помощью вызова say System.Diagnostics.Process.Start(...).
Я уже знаю, как читать и писать в реестр. Именно расположение реестра затрудняет стандартное определение того, какие приложения связаны с расширением, какие существуют отображаемые имена и где находятся их исполняемые файлы.
Исключение InvalidOperationException при создании экземпляра веб-службы wcf
У меня есть веб-служба WCF, на которую ссылаются из библиотеки классов. После запуска проекта при создании объекта клиента службы из библиотеки классов я получаю сообщение InvalidOperationException with:
Не удалось найти элемент конечной точки по умолчанию, который ссылается на контракт 'MyServiceReference.IMyService' в клиенте ServiceModel раздел конфигурации. Это может быть связано с тем, что файл конфигурации не был найдено для вашего приложения, или потому что нет соответствия элементов конечной точки этот контракт можно найти в элементе клиент.
Код, который я использую для создания экземпляра::
myServiceClient = new MyServiceClient();
где MyServiceClient наследуется от
System.ServiceModel.ClientBase
Как мне решить эту проблему?
Примечание: у меня есть отдельное консольное приложение, которое просто создает один и тот же объект службы и вызывает его, и оно работает без каких-либо проблем.
Построение C# .NET windows приложения с несколькими представлениями
Я переписываю старое приложение и использую его как хорошую возможность попробовать разработку C# и .NET (обычно я делаю много плагинов в C).
Приложение в основном представляет собой таймер сбора данных. Он имеет начальный вид с кнопкой для начала измерения. Во время измерения приложение имеет пять различных представлений в зависимости от того, какую информацию пользователь хочет видеть.
Как лучше всего переключаться между видами? От старта до бега? Между бегущими видами?
Помыслы:
- Используйте одну форму и скрывайте и показывайте элементы управления
- Используйте одну стартовую форму, а затем форму с TabControl
- Используйте шесть отдельных форм
Модульное тестирование IHttpModule
Как вы проводите модульный тест a HttpModule в asp.net, учитывая, что HttpApplication и HttpContext не реализуют интерфейс ?
Зарезервированное Ключевое слово в перечислении в C#
Я хотел бы использовать as и is в качестве членов перечисления. Я знаю, что это возможно в VB.NET, чтобы написать его так:
Public Enum Test
[as] = 1
[is] = 2
End Enum
Как написать эквивалентный оператор в C#? Следующий код не компилируется:
public enum Test
{
as = 1,
is = 2
}
Есть ли способ автоматизировать тестирование форм windows?
Я знаком с nunit для модульного тестирования бизнес-уровня, однако сейчас я ищу, чтобы автоматизировать тестирование уровня gui win forms.
Я видел watin и watin рекордер для автоматизации тестов в веб-приложении, получая доступ к элементам управления и автоматизируя их. Однако я изо всех сил пытаюсь найти эквивалент watin для windows форм (написанных в c# или vb.net), предпочтительно с открытым исходным кодом.
Существует ли один или все продукты основаны на записи нажатий мыши и клавиатуры?
Update: я посмотрел на этот пост в блоге на белом фоне, и мне кажется, что это именно то, что я ищу. Сообщение в блоге поднимает некоторые вопросы, но поскольку белый цвет есть только в версии 0.6, они могут быть решены. Будьте заинтересованы, если другие использовали белый цвет или любые другие для сравнения.
Какой самый быстрый способ удалить новые строки из строки в C#?
У меня есть строка, в которой есть немного Environment.Newline. Я бы хотел удалить их из строки и вместо этого заменить новую строку чем-то вроде запятой.
Каков был бы, по вашему мнению, лучший способ сделать это с помощью C#.NET 2.0?
Как я могу представить очень большое целое число в .NET?
Имеет ли .NET класс, способный представлять чрезвычайно большие целые числа, такие как 100 факториалов? Если нет, то какие есть хорошие сторонние библиотеки для достижения этой цели?
ASP.NET Формы Авторизации
Я работаю на веб-сайте, построенном с чистыми HTML и CSS, и мне нужен способ ограничить доступ к страницам, расположенным в определенных каталогах на сайте. Решение, которое я придумал, было, конечно, ASP.NET формы авторизации. Я создал форму входа в систему Visual Studio по умолчанию и настроил пользователей, роли и ограничения доступа с помощью мастера Visual Studio. Проблема в том, что я не могу войти на сайт с учетными данными, которые я установил.
Я использую IIS 7.
Насколько дорого стоит .NET отражение?
Я постоянно слышу, как плохо использовать отражение. Хотя я обычно избегаю размышлений и редко нахожу ситуации, когда без них невозможно решить мою проблему, мне было интересно...
Для тех, кто использовал отражение в приложениях, вы измерили хиты производительности и, действительно ли это так плохо?
Фильтрация тегов привязки в строке
Мне нужно отфильтровать якорные теги в строке. Например,
Check out this site: <a href="http://www.stackoverflow.com">stackoverflow</a>
Мне нужно иметь возможность отфильтровать тег привязки к этому:
Check out this site: http://www.stackoverflow.com
Этот формат также не может быть постоянным. У тега Привязки могут быть и другие атрибуты. Кроме того, в строке может быть более 1 якорного тега. Я делаю фильтрацию в vb.net, прежде чем он пойдет в базу данных.
Захват повторяющейся группы
Я пытаюсь разобрать строку следующим образом, используя регулярное выражение .NET:
H3Y5NC8E-TGA5B6SB-2NVAQ4E0
и вернуть после использования Сплит: H3Y5NC8E TGA5B6SB 2NVAQ4E0
Я проверяю каждый символ по определенному набору символов (обратите внимание, что буквы 'I', 'O', 'U' & 'W' отсутствуют), поэтому использование string.Split не является опцией. Количество символов в каждой группе может варьироваться, и количество групп также может варьироваться. Я использую следующее выражение:
([ABCDEFGHJKLMNPQRSTVXYZ0123456789]{8}-?){3}
Это будет соответствовать ровно 3 группам по 8 символов в каждой. Любой более или менее провалит матч. Это работает постольку, поскольку он правильно соответствует входным данным. Однако, когда я использую метод Split для извлечения каждой группы символов, я просто получаю конечную группу. RegexBuddy жалуется, что я повторил саму группу захвата и что я должен поместить группу захвата вокруг повторной группы. Однако ни одна из моих попыток сделать это не привела к желаемому результату. Я уже пробовал такие выражения как это:
(([ABCDEFGHJKLMNPQRSTVXYZ0123456789]{8})-?){4}
Но это не работает.
Поскольку я генерирую regex в коде, я мог бы просто расширить его на количество групп, но я надеялся на более элегантное решение.
Обратите внимание, что набор символов не включает в себя весь алфавит. Это часть системы активации продукта. Таким образом, все символы, которые могут быть случайно интерпретированы как числа или другие символы, удаляются. например, буквы 'I', 'O', 'U' & 'W' не входят в набор символов.
Дефисы необязательны, так как пользователю не нужно вводить их сверху, но они могут быть там, если пользователь сделал копию & paste.
Когда инициализируется NavigationService?
Я хочу поймать событие NavigationService.Navigating с моей страницы, чтобы предотвратить переход пользователя вперед. У меня есть обработчик событий, определенный таким образом:
void PreventForwardNavigation(object sender, NavigatingCancelEventArgs e)
{
if (e.NavigationMode == NavigationMode.Forward)
{
e.Cancel = true;
}
}
... и это прекрасно работает. Однако я не уверен, где именно разместить этот код:
NavigationService.Navigating += PreventForwardNavigation;
Если я помещу его в конструктор страницы или инициализированный обработчик событий, то NavigationService все равно будет null, и я получу NullReferenceException. Однако если я помещаю его в обработчик загруженных событий для страницы, то он вызывается каждый раз при переходе на страницу. Если я правильно понимаю, это означает, что я обрабатываю одно и то же событие несколько раз.
Могу ли я добавить один и тот же обработчик к событию несколько раз (как это произошло бы, если бы я использовал загруженное событие страницы для его подключения)? Если нет, то есть ли какое-то место между инициализацией и загрузкой, где я могу сделать эту проводку?
Скрыть столбец в динамических данных ASP.NET
Есть ли способ применить атрибут к файлу модели в динамических данных ASP.NET, чтобы скрыть столбец?
Например, в настоящее время я могу установить отображаемое имя столбца, как это:
[DisplayName("Last name")]
public object Last_name { get; set; }
Есть ли подобный способ скрыть колонку?
Edit: большое спасибо Кристиану Хагелиду за то, что он прошел лишнюю милю и дал точный ответ :-)
Ошибка регистрации Webpart в журнале событий
Мы создали несколько пользовательских веб-частей для SharePoint 2007. Они прекрасно работают. Однако всякий раз, когда они загружаются, мы получаем сообщение об ошибке в журнале событий:
ошибка инициализации безопасного управления - Assembly: ...
assembly на самом деле загружается нормально. Кроме того, он правильно указан в web.config и GAC .
Любые идеи о том, как остановить эти (Фантом?) ошибки будут оценены по достоинству.
CruiseControl.net дублировать NAnt тайминги
Я пытаюсь настроить CruiseControl.net webdashboard на данный момент. До сих пор это работает хорошо, но у меня есть проблема с отчетом о сроках сборки NAnt.
Во-первых, мой текущий файл ccnet.config выглядит примерно так:
<project name="bla">
...
<prebuild>
<nant .../>
</prebuild>
<tasks>
<nant .../>
</tasks>
<publishers>
<nant .../>
</publishers>
...
</project>
Как завершится, NAnt отчет о времени отображает три дублировать резюме. Есть ли способ исправить это без изменения структуры проекта?
Что такое ASP.NET?
Я был строго в среде C++ в течение многих лет (и специализированных статистических языков). Visual Studio до 2001 года, а Borland с тех пор. В основном специализированные настольные приложения для клиентов.
Я не остаюсь намеренно невежественным, но за эти годы, когда я погрузился в другие вещи, я провел свое время, играя с JavaScript, PHP и многими Python.
Является ли " ASP.NET " языком? Является ли C# языком, а" ASP.NET " - фреймворком? Какой хороший ответ на вопрос "Что такое ASP.NET"? Есть ли соответствие между ASP.NET и чем-нибудь, с чем я был бы знаком в C++?
Я знаю, что могу погуглить тот же заголовок, но я бы предпочел увидеть ответы от этой толпы. (Кроме того, в будущем, я думаю, что Google должен указывать здесь на подобные вопросы.)
Как я могу узнать имя исполняющего ?exe?
Компактная платформа не поддерживает Assembly.GetEntryAssembly для определения запуска .exe. Так что есть еще один способ получить имя исполнителя .exe?
EDIT: я нашел ответ в блоге Питера фута: http://peterfoot.net/default.aspx вот код:
byte[] buffer = new byte[MAX_PATH * 2];
int chars = GetModuleFileName(IntPtr.Zero, buffer, MAX_PATH);
if (chars > 0)
{
string assemblyPath = System.Text.Encoding.Unicode.GetString(buffer, 0, chars * 2);
}
[DllImport("coredll.dll", SetLastError = true)]
private static extern int GetModuleFileName(IntPtr hModule, byte[] lpFilename, int nSize);
Каков самый простой способ подключения к объекту .NET удаленного сервера
Учитывая, что мой клиентский код знает все, что ему нужно о удаленном объекте, каков самый простой способ подключения к нему?
Именно этим я сейчас и занимаюсь:
ChannelServices.RegisterChannel(new HttpChannel(), false);
RemotingConfiguration.RegisterWellKnownServiceType(
typeof(IRemoteServer), "RemoteServer.rem", WellKnownObjectMode.Singleton);
MyServerObject = (IRemoteServer)Activator.GetObject(
typeof(IRemoteServer),
String.Format("tcp://{0}:{1}/RemoteServer.rem", server, port));
Как я могу вычислить, сколько памяти потребляет .Net Appdomain?
Я пытаюсь программно ограничить потребление памяти плагинами, работающими в .Net AppDomain, но я не могу найти никаких параметров настройки для этого, а также не могу найти способ запросить AppDomain, чтобы выяснить, сколько памяти он потребляет. Есть какие-нибудь идеи?
Не удалось загрузить ресурсы из файла ресурсов
Периодически возникает следующая ошибка в приложении IIS:
Не удалось загрузить ресурсы из файла ресурсов.
Полное сообщение об ошибке в журнале событий приложения является:
Тип События: Ошибка
Источник События: .NET Runtime
Категория События: Нет
Событие ID: 0
Дата: 8/8/2008
Время: 8:8:8 утра
Пользователь: N/A
Компьютер: BLAH123
Описание:
Описание события ID ( 0 ) в Source (.NET Runtime ) не может быть найдено. На > локальном компьютере может отсутствовать необходимая информация реестра или файлы сообщений DLL для >отображения сообщений с удаленного компьютера. Для получения этого описания можно использовать флаг /AUXSOURCE=; дополнительные сведения см. В разделе Справка и поддержка. Следующая информация является частью события: .NET Runtime version 1.1.4322.2407-ошибка установки: не удалось загрузить ресурсы из файла ресурсов
Пожалуйста, проверьте свои настройки.
Приложение написано на .NET 1.1, но сервер работает на ASP.NET 2.0. Спасибо.
Update: подразумевается, что установлен ASP.NET 2.0, но папка веб-сайта по умолчанию и веб-сайты внутри папки имеют значение ASP.NET 1.1. В папке веб-сайта фильтр ISAPI имеет значение ASP.NET 2.0. Моя первая догадка о проблеме заключалась в том, что ASP.NET 1.1 и ASP.NET 2.0 работают бок о бок.
Обновление 2: ASP.NET 2.0 установлен, но все веб-сайты работают только ASP.NET 1.1 (длинная история и произошло до того, как я начал).
Можно ли встроить геккона или Webkit в форму Windows так же, как и WebView?
Я хотел бы знать, существует ли такая вещь, как Gecko.NET ;) я имею в виду, точно так же, как мы можем встроить WebView, и это "instance" из IE7 внутри любого приложения Windows Forms (и сказать это navigateto(fancy_url); ). Я бы с удовольствием использовал Firefox или WebKit.
Кто-нибудь пробовал это?
UPDATE: пожалуйста, имейте в виду, что хотя можно встроить Gecko с помощью упомянутых элементов управления, это все еще невозможно напечатать при использовании Gecko.
Обновление от марта 2010 года : по-прежнему невозможно печатать изначально с помощью GeckoFX, однако существует несколько методов, которых может быть достаточно, в зависимости от того, что вы пытаетесь сделать. Смотрите: http://geckofx.org/viewtopic.php?id=796 для получения дополнительной информации.
Обновление октябрь 2013 : я больше не занимаюсь разработкой Windows, поэтому у меня нет интереса к этому, но, похоже, что разработка Gecko может быть найдена здесь: https://bitbucket.org/geckofx , и она, похоже, недавно обновлена. Оставив это здесь для будущих Windows разработчиков ;)
Обновление январь 2017 : я получил email от компании под названием TeamDev . Они создали основанный на хроме компонент браузера .NET под названием "DotNetBrowser", который может использоваться для отображения современных веб-страниц в приложениях Windows Forms.
Чтобы цитировать email напрямую:
Вот некоторые сведения о компоненте, которые могут быть полезны:
- DotNetBrowser основан на хроме, таким образом поддерживая HTML5, CSS3, JS и самые последние веб-стандарты. Базовая версия библиотеки Chromium регулярно обновляется.
- Компонент подходит как для WPF, так и для Windows форм настольных приложений и работает как для C#, так и для VB.NET.
- Библиотека имеет коммерческую лицензию, однако бесплатные лицензии предоставляются для проектов с открытым исходным кодом и академических проектов.
Отказ от ответственности: я не использовал этот DotNetBrowser для того, чтобы я больше не делал Windows разработки, но, возможно, стоит проверить, если вы ищете решение для этого.
Windows Увеличение Объема Услуг CPU Потребление
На моей работе у меня есть сцепление из шести Windows services, за которое я отвечаю, написанное в C# 2003 году. Каждая из этих служб содержит таймер, который срабатывает каждую минуту или около того, где происходит большая часть их работы.
Моя проблема заключается в том, что по мере запуска этих служб они начинают потреблять все больше и больше времени CPU через каждую итерацию цикла, даже если для них нет никакой значимой работы (т. е. они просто бездельничают, просматривая базу данных для чего-то). Когда они запускаются, каждая служба использует в среднем (около) 2-3% из 4 CPUs, что нормально. Через 24 часа каждая служба будет потреблять весь процессор на протяжении всего цикла выполнения своего цикла.
Кто-нибудь может помочь? Я в недоумении, что может быть причиной этого. Наше текущее решение заключается в том, чтобы перезапускать сервисы один раз в день (они отключаются сами, затем скрипт видит, что они отключены, и перезапускает их примерно в 3 часа ночи). Но это не долгосрочное решение; меня беспокоит то, что, поскольку службы становятся более загруженными, перезапуска их один раз в день может быть недостаточно... но поскольку существует значительный штраф за запуск (все они используют NHibernate для доступа к данным), поскольку они становятся более загруженными, именно то, что мы не хотим делать, - это перезапускать их чаще.
@akmad: правда, это очень трудно.
- Да, служба, запущенная изолированно, будет показывать тот же симптом с течением времени.
- Нет, это не так, мы уже смотрели на это. Это может произойти в 10 утра, в 6 вечера или в середине ночи. Здесь нет никакой последовательности.
- Мы делаем это, а они делают. Службы делают именно то, что они должны делать, и ничего больше.
- К сожалению, это требует предвидения того, когда именно услуги будут исчерпаны CPUs, что происходит по непредсказуемому графику и никогда не бывает очень быстро... что делает вещи вдвойне трудными, потому что мой босс будет запускать и перезапускать их, когда у них начнутся проблемы, не думая о проблемах отладки.
- Нет, они используют довольно стабильное количество RAM (ок. 60-80MB каждый, из 4 ГБ на машине).
Хорошие предложения, но rest заверил, что мы перепробовали все обычные способы устранения неполадок. Я надеюсь, что это проблема .NET, о которой кто-то может знать, и мы сможем работать над ее решением. Решение моего босса (которое я категорически не хочу реализовывать) состоит в том, чтобы поместить поле в базу данных, которая содержит несколько раз для перезапуска служб в течение дня, чтобы он мог устранить проблему и не думать о ней. Я Отчаянно ищу причину реальной проблемы, чтобы исправить ее, потому что это решение станет катастрофой примерно через шесть месяцев.
Эллис: у каждого из них своя функция. Один читает записи из базы данных Oracle где-то за пределами объекта; другой обрабатывает эти записи и передает файлы, принадлежащие этим записям, в нашу систему; третий проверяет эти файлы, чтобы убедиться, что они такие, какими мы их ожидаем; другой-это Служба технического обслуживания, которая постоянно проверяет такие вещи, как дисковое пространство (которого у нас достаточно) и опрашивает другие серверы, чтобы убедиться, что они живы; один работает только для того, чтобы убедиться, что все эти другие работают и выполняют свою работу, отслеживает и сообщает об ошибках и перезапускает все, что не удалось сохранить всю систему это происходит 24 часа в сутки.
Итак, если вы спрашиваете то, что я думаю, что вы спрашиваете, нет, нет ни одной общей вещи, которую делают все эти службы (кроме доступа к базе данных через NHibernate), на которую я могу указать как на потенциальную проблему. К сожалению, если это окажется фактической проблемой (что меня не сильно удивит), все это может быть испорчено-и я в конечном итоге перепишу все из них в простой SQL. Я надеюсь, что это проблема сборщика мусора или что-то более легкое для решения, чем NHibernate.
@Joshdan: никакого секрета. Как я уже сказал, мы испробовали все обычные способы устранения неполадок. Профилирование было бесполезным: профилировщик, который мы используем, не мог указать на какой-либо код, который фактически выполнялся, когда использование CPU было высоким. Эти службы были разорваны около месяца назад в поисках этой проблемы. Каждый раздел кода был проанализирован, чтобы попытаться выяснить, был ли наш код проблемой; я здесь не спрашиваю, потому что я не сделал свою домашнюю работу. Если бы это был простой случай, когда службы выполняли больше работы, чем ожидалось, это было бы поймано.
Проблема здесь заключается в том, что в большинстве случаев службы вообще ничего не делают, но все же умудряются потреблять 25% или более из четырех ядер CPU: они не находят никакой работы, выходят из своего цикла и ждут следующей итерации. Это должно, в буквальном смысле, почти не занимать времени CPU вообще.
Вот пример поведения, которое мы наблюдаем на службе без работы в течение двух дней (в неизменной среде). Это было захвачено на прошлой неделе:
День 1, 8 утра: авг. CPU использование приблизительно 3%
День 1, 6 вечера: авг. CPU использование приблизительно 8%
День 2, 7 утра: авг. CPU использование приблизительно 20%
День 2, 11 утра: авг. CPU использование приблизительно 30%
Рассмотрев все возможные мирские причины этого, я задал этот вопрос здесь, потому что я полагал (правильно, как оказалось), что получу более новаторские ответы (как Убигути) или указатели на вещи, о которых я не думал (как предложение Яна).
Так же происходит и Спайк CPU непосредственно перед таймером обратный вызов, в пределах обратного вызова таймера, или сразу после таймера обратный звонок?
Вы меня неправильно поняли. Это не Спайк. Если бы это было так, то не было бы никаких проблем; я могу справиться со спайками. Но это не так... использование CPU в целом растет. Даже когда служба ничего не делает, ожидая следующего удара таймера. Когда сервис запускается, все идет хорошо и спокойно, и график выглядит так, как вы и ожидали... как правило, использование 0%, с шипами до 10%, когда NHibernate попадает в базу данных или сервис выполняет какой-то тривиальный объем работы. Но это увеличивает до across-the-board 25% (больше, если я позволю ему зайти слишком далеко) использование во все времена, пока процесс запущен.
Это сделало предложение Йена логичной серебряной пулей (NHibernate делает много вещей, когда вы не смотрите). Увы, я реализовал его решение, но оно не возымело эффекта (у меня нет доказательств этого, но я действительно думаю, что это ухудшило ситуацию... среднее использование, кажется , теперь растет намного быстрее). Обратите внимание, что удаление NHibernate "sections" (как вы рекомендуете) нецелесообразно, так как это было бы уберите около 90% кода в сервисе, что позволило бы мне исключить таймер как проблему (которую я абсолютно намерен попробовать), но не может помочь мне исключить NHibernate как проблему, потому что если NHibernate вызывает это, то хитроумное исправление, которое реализовано (см. ниже), просто должно стать способом работы системы; мы настолько зависим от NHibernate для этого проекта, что PM просто не примет, что это вызывает неразрешимую структурную проблему.
Я только что заметил в нем чувство отчаяния. вопрос -- что ваши проблемы продолжалось бы и дальше, если бы не маленькое чудо
Я не хочу, чтобы все так вышло. В настоящее время службы перезапускаются ежедневно (с возможностью ввода любого количества часов в день для их выключения и перезапуска), что исправляет проблему, но не может быть долгосрочным решением, как только они переходят на производственную машину и начинают загружаться. Проблемы не будут продолжаться, независимо от того, исправляю ли я их или PM поддерживает это ограничение на них. Очевидно, что я предпочел бы реализовать реальное исправление, но поскольку первоначальное тестирование не выявило никаких причин для этого, а службы уже были подробно рассмотрены, PM предпочел бы просто перезапустить их несколько раз, чем тратить больше времени на их исправление. Это полностью выходит из-под моего контроля и делает чудо, о котором вы говорили, более важным, чем оно было бы в противном случае.
Это чрезвычайно интригует (постольку как Вы доверяете своему профайлеру).
Я не. Но тогда это Windows services, написанные в .NET 1.1, запущенные на машине Windows 2000, развернутой хитрым сценарием Nant, использующим старую версию NHibernate для доступа к базе данных. На самом деле, я бы сказал, что мало чему доверяю на этой машине.
Asp.net первый запуск сайта происходит очень медленно
Первый раз, когда я загружаю сайт на рабочий веб-сервер, он запускается очень медленно, последующие страницы загружаются очень быстро (включая домашнюю страницу).
Я предварительно скомпилировал сайт, но ничего не изменилось.
У меня нет никакого кода при запуске приложения. У меня нет кэшированных элементов.
Есть какие-нибудь идеи? Как я могу узнать, что происходит?
Как лучше всего хранить пользовательские настройки для приложения .NET?
У меня есть .NET 2.0 Windows бланков заявки. Где лучше всего разместить настройки пользователя магазина (учитывая рекомендации Windows)?
Некоторые люди указывали на Application.LocalUserAppDataPath . Однако это создает структуру папок, как:
C:\Documents и Settings\user_name\Local Settings\Application Data\company_name\product_name\product_version\
Если я выпущу версию 1 своего приложения и сохраню там файл XML, а затем выпущу версию 2, это изменится на другую папку, верно? Я бы предпочел иметь одну папку для каждого пользователя, чтобы хранить настройки, независимо от версии приложения.
Печать многомерных массивов .NET
Допустим, у меня есть .NET-массив из n измерений. Я хотел бы foreach через элементы и распечатать что-то вроде:
[0, 0, 0] = 2
[0, 0, 1] = 32
И так далее. Я мог бы написать цикл, используя некоторые функции ранга и измерения, чтобы придумать индексы. Есть ли встроенная функция вместо этого?
sizeof() эквивалент для ссылочных типов?
Я ищу способ получить размер экземпляра ссылочного типа. sizeof предназначен только для типов значений. Разве это возможно?
asp.net mvc-подпапки
Как новая реализация Microsoft asp.net mvc обрабатывает секционирование вашего приложения - например:
--index.aspx
--about.aspx
--contact.aspx
--/feature1
--/feature1/subfeature/action
--/feature2/subfeature/action
Я думаю, что я пытаюсь сказать, что, кажется, все должно идти в корень папок views/controllers, которые могут стать громоздкими при работе над проектом, который, если он построен с помощью веб-форм, может иметь много-много папок и подпапок для разделения приложения.
Я думаю, что получаю модель MVC, и мне нравится ее внешний вид по сравнению с веб-формами, но все же я понимаю, как вы будете строить большой проект на практике.
Интернализация класса и методов в .NET Assembly
У меня есть набор из нескольких сборок (один assembly должен использоваться как API, и это зависит от других сборок). Я хотел бы объединить все сборки в одну единственную assembly, но запретить всем сборкам, кроме API, быть видимыми снаружи.
Затем я буду запутывать этот assembly с помощью Ксенокода. Из того, что я видел, невозможно интернализовать assembly с помощью Ксенокода.
Я видел ILMerge от Microsoft, но не смог понять, может ли он делать то, что я хочу. http://research.microsoft.com / ~mbarnett/ILMerge.aspx
Как я могу убедиться, что полосы прокрутки не перекрывают содержимое?
При создании прокручиваемых пользовательских элементов управления С.NET и WinForms я неоднократно сталкивался с ситуациями, когда, например, вертикальная полоса прокрутки всплывает, перекрывая содержимое элемента управления, в результате чего также требуется горизонтальная полоса прокрутки. В идеале содержимое будет немного уменьшаться, чтобы освободить место для вертикальной полосы прокрутки.
Мое текущее решение состояло в том, чтобы просто держать мои элементы управления из крайних правых 40 пикселей или так, чтобы вертикальная полоса прокрутки занимала. Поскольку это все еще эффективно клиентское пространство для элемента управления, горизонтальная полоса прокрутки все еще появляется, когда она покрывается вертикальной полосой прокрутки, даже если никакие элементы управления не скрыты вообще. Но тогда, по крайней мере, пользователю не нужно использовать горизонтальную полосу прокрутки, которая появляется.
Есть ли лучший способ заставить все это работать? Какой-то способ сохранить ненужные и нежелательные полосы прокрутки от появления вообще?
Управление пространством собственных имен в .NET XmlWriter
Я довольно широко использую технологии .NET XML в своей работе. Одна из вещей, которые мне очень нравятся, - это движок XSLT, точнее, его расширяемость. Однако есть один маленький кусочек, который продолжает быть источником раздражения. Ничего серьезного или чего-то такого, с чем мы не можем жить, но это мешает нам производить прекрасное XML, которое мы хотели бы произвести.
Одна из вещей, которые мы делаем, - это преобразование узлов inline и импорт узлов из одного документа XML в другой.
К сожалению, когда вы сохраняете узлы в XmlTextWriter (на самом деле все, что возвращает XmlWriter.Create(Stream) ), определения пространства имен попадают туда, независимо от того, является ли это необходимым (ранее определенным) или нет. Вы получаете вид следующего xml:
<root xmlns:abx="http://bladibla">
<abx:child id="A">
<grandchild id="B">
<abx:grandgrandchild xmlns:abx="http://bladibla" />
</grandchild>
</abx:child>
</root>
Есть ли у кого-нибудь предложения о том, как убедить .NET быть эффективным в своих определениях пространства имен?
PS. В качестве дополнительного бонуса я хотел бы переопределить пространство имен по умолчанию, изменяя его по мере написания узла.
UITypeEditor и IExtenderProvider
У меня есть экстендер (IExtenderProvider), который расширяет некоторые типы элементы управления с дополнительными свойствами. Для одного из этих свойств у меня есть написано а UITypeEditor. Пока что все работает просто отлично.
Экстендер также имеет несколько свойств сам по себе, которые я пытаюсь Используйте как своего рода дефолт для UITypeEditor. То, что я хочу сделать, - это быть возможность установить свойство на самом расширителе (не расширенные элементы управления), и когда я открываю UITypeEditor для одного из дополнительных свойств на расширенный элемент управления, я хочу установить значение в UITypeEditor на значение из имущества на расширителе.
Простой пример: ExtenderProvider имеет свойство DefaultExtendedValue. В форме я установил значение этого свойства в "My Value". Расширенные элементы управления имеют, через поставщика, свойство ExtendedValue с UITypeEditor. Когда я открываю редактор для свойства ExtendedValue, значение по умолчанию (начальное) должно быть равно "My Value".
Мне кажется, что лучшим местом для этого было бы UITypeEditor.EditValue, как раз перед звонком IWindowsFormsEditorService.DropDownControl или .ShowDialog.
Единственная проблема заключается в том, что я не могу (или не знаю, как это сделать) получить доступ самого поставщика расширителя в EditValue, чтобы прочитать значение рассматриваемого свойства и установить его в UITypeEditor. Контекст дает мне расширенное представление контроль, но в данном случае он мне ни к чему.
Есть ли какой-то способ достичь того, что я пытаюсь? Любая помощь ценится!
Спасибо Том
- Это неплохая идея, но, к сожалению, она меня не совсем устраивает. Я бы очень хотел иметь возможность установить это значение по умолчанию индивидуально для каждого экземпляра поставщика расширителя. (У меня может быть больше одного на одной форме с разными значениями для разных групп расширенных элементов управления.)
ASP.Net: использование System.Web.UI.Control.ResolveUrl() в общей / статической функции
Как лучше всего использовать ResolveUrl() в общей / статической функции в Asp.Net? Мое текущее решение для VB.Net-это:
Dim x As New System.Web.UI.Control
x.ResolveUrl("~/someUrl")
Или C#:
System.Web.UI.Control x = new System.Web.UI.Control();
x.ResolveUrl("~/someUrl");
Но я понимаю, что это не лучший способ назвать его.
XPath и выбор одного узла
Я использую XPath в .NET для разбора документа XML, по следующим линиям::
XmlNodeList lotsOStuff = doc.SelectNodes("//stuff");
foreach (XmlNode stuff in lotsOStuff) {
XmlNode stuffChild = stuff.SelectSingleNode("//stuffChild");
// ... etc
}
Проблема заключается в том, что запрос XPath для stuffChild всегда возвращает дочерний элемент первого элемента stuff , а не rest. Может ли XPath не использоваться для запроса к отдельному XMLElement ?
Как лучше всего бороться с DBNull-Ми
У меня часто возникают проблемы, связанные с DataRows возвращением из SqlDataAdapters . Когда я пытаюсь заполнить объект с помощью такого кода:
DataRow row = ds.Tables[0].Rows[0];
string value = (string)row;
Как лучше всего справиться с DBNull's в такой ситуации?
Uncollapsible CollapsiblePanelExtender
У меня есть CollapsiblePanelExtender, который не рухнет. У меня есть "collapsed" установлен в true и все ControlID установлены правильно. Я пытаюсь свернуться, и он проходит через анимацию, но затем почти мгновенно расширяется. Это находится в пользовательском элементе управления со следующей структурой.
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="odsPartners" Width="450px" BorderWidth="0"
ShowHeader="false" ShowFooter="false" AllowSorting="true"
onrowdatabound="GridView1_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="Contract Partners" SortExpression="Name">
<ItemTemplate>
<asp:Panel id="pnlRow" runat="server">
<table>
...Stuff...
</table>
</asp:Panel>
<ajaxToolkit:CollapsiblePanelExtender runat="server" ID="DDE"
Collapsed="true" ImageControlID="btnExpander" ExpandedImage="../Images/collapse.jpg" CollapsedImage="../Images/expand.jpg"
TargetControlID="DropPanel" CollapseControlID="btnExpander" ExpandControlID="btnExpander" />
<asp:Panel ID="DropPanel" runat="server" CssClass="CollapsedPanel">
<asp:Table ID="tblContracts" runat="server">
<asp:TableRow ID="row" runat="server">
<asp:TableCell ID="spacer" runat="server" Width="30"> </asp:TableCell>
<asp:TableCell ID="cellData" runat="server" Width="400">
<uc1:ContractList ID="ContractList1" runat="server" PartnerID='<%# Bind("ID") %>' />
</asp:TableCell>
</asp:TableRow>
</asp:Table>
</asp:Panel>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="tbFilter" EventName="TextChanged" />
</Triggers>
</asp:UpdatePanel>
Как вы программно заполняете форму и 'POST' веб-страницу?
Используя C# и ASP.NET, я хочу программно заполнить некоторые значения (4 текстовых поля) на веб-странице (форма), а затем 'POST' эти значения. Как мне это сделать?
Edit: уточнение: есть сервис (www.stopforumspam.com), где вы можете отправить ip, имя пользователя и адрес email на их странице 'add'. Я хочу иметь возможность создать ссылку/кнопку на странице моего сайта, которая заполнит эти значения и отправит информацию без необходимости копировать/вставлять их и нажимать кнопку Отправить.
Дополнительные разъяснения: как автоматизированные спам-боты заполняют формы и нажимают кнопку Отправить, если они были написаны в C#?
Postback с измененной строкой запроса из выпадающего списка в ASP.NET
Моя страница asp.net будет отображать различные элементы управления, основанные на том, какой отчет пользователь выбрал, например, некоторые отчеты требуют 5 раскрывающихся списков, некоторые два флажка и 6 раскрывающихся списков).
Они могут выбрать отчет двумя способами. С SelectedReport=MyReport в строке запроса или выбрав его из раскрывающегося списка. И это обычный случай, когда они приходят на страницу с SelectedReport в строке запроса, а затем меняют отчет, выбранный в раскрывающемся списке.
Мой вопрос заключается в том, есть ли возможность заставить выпадающее меню изменить строку запроса, когда она выбрана. Поэтому я бы хотел, чтобы SelectedReport=MyNewReport было в строке запроса и на странице Для обратной публикации.
В данный момент он просто выполняет обычную обратную передачу, которая оставляет SelectedReport=MyReport в строке запроса, даже если это не текущий выбранный отчет.
Edit: и мне также нужно сохранить ViewState.
Я попытался сделать Server.Transfer(Request.Path + "?SelectedReport=" + SelectedReport, true) в обработчике событий для выпадающего списка, и это работает функционально мудро, к сожалению, потому что это Server.Transfer (чтобы сохранить ViewState) вместо Response.Redirect URL отстает от того, что показано.
Может быть, я прошу невозможного или иду совершенно неверным путем.
@Craig коллекция QueryString доступна только для чтения и не может быть изменена.
@Jason это было бы здорово, если бы я не потерял ViewState, не так ли? (Извините, что я добавил Это, увидев ваш ответ).
Как можно требовать конструктор без параметров для типов, реализующих интерфейс?
Есть ли какой-то выход?
Мне нужно, чтобы все типы, реализующие определенный интерфейс, имели конструктор без параметров, можно ли это сделать?
Я разрабатываю базовый код для других разработчиков в моей компании, чтобы использовать его в конкретном проекте.
Существует процесс, который будет создавать экземпляры типов (в разных потоках), выполняющих определенные задачи, и мне нужно, чтобы эти типы следовали определенному контракту (ergo, интерфейс).
Интерфейс будет внутренним для assembly
Если у вас есть предложение для этого сценария без интерфейсов, я с удовольствием приму его во внимание...
Как удалить каталог с помощью cc.net / cruiscontrol?
Возможный Дубликат:
Задача предварительной сборки-удаление рабочей копии в CruiseControl.NET
Возможный Дубликат:
Задача предварительной сборки-удаление рабочей копии в CruiseControl.NET
Я хотел бы удалить свой рабочий каталог во время сборки cruisecontrol process...I'm, конечно, это легко, но я не смог найти пример этого...
Если вы знаете, как создать каталог, это тоже будет полезно.
Спасибо.
Вход в систему безопасности IE6 (отладка через VirtualPC)
Я отлаживаю свое приложение ASP.NET на моем поле Windows XP с виртуальным каталогом, настроенным в IIS (5.1).
Я также запускаю VirtualPC с XP и IE6 для целей тестирования. Когда я подключаюсь к своей реальной машине с виртуальной машины, я ввожу URL: http://machinename/projectname .
Я получаю всплывающее окно безопасности для подключения к моей машине (что я ожидаю), но поле имени пользователя отключено. Я не могу изменить его с machinename\Guest на machinename\username для подключения.
Как я могу получить это, чтобы включить, чтобы я мог ввести правильные учетные данные.
Библиотека диаграмм для Java и .Net
Кто-нибудь может порекомендовать библиотеку для генерации диаграмм (гистограммы, круговые диаграммы и т. д.) который работает как на Java, так и на .Net?
ASP.NET JavaScript Обратные Вызовы Без Полного PostBacks?
Я собираюсь запустить довольно тяжелую функцию Ajax в приложении моей компании. Что мне нужно сделать, так это сделать обратный вызов Ajax каждые несколько минут, когда пользователь был на странице.
- Мне не нужно делать никаких обновлений DOM до, после или во время обратных вызовов.
- Мне не нужна никакая информация со страницы, просто файл cookie сайта, который всегда должен быть отправлен с запросами в любом случае, и значение ID.
Мне любопытно узнать, есть ли какой-нибудь чистый и простой способ сделать обратный вызов JavaScript Ajax на страницу ASP.NET, не отправляя обратно rest информации на странице. Я хотел бы не делать этого, если это возможно.
Я действительно просто хочу иметь возможность вызвать один метод на странице, ничего больше.
Кроме того, я ограничен ASP.NET 2.0, поэтому я не могу использовать ни одну из новых функций 3.5 framework ASP AJAX, хотя я могу использовать расширения ASP AJAX для платформы 2.0.
ОБНОВЛЕНИЕ
Я решил принять ответ DanP, поскольку он, похоже, именно то, что я ищу. Наш сайт уже использует jQuery для некоторых вещей, поэтому я, вероятно, буду использовать jQuery для выполнения запросов, поскольку по моему опыту он работает намного лучше, чем фреймворк AJAX ASP.
Как вы думаете, каким будет лучший способ передачи данных в IHttpHandler? Должен ли я добавить переменные в строку запроса или POST данные, которые мне нужно отправить?
Единственное, что я думаю, что мне нужно отправить, - это один ID, но я не могу решить, какой лучший способ отправить ID и заставить IHttpHandler обработать его. Я хотел бы предложить решение, которое предотвратило бы случайный или преднамеренный доступ человека с базовыми компьютерными навыками непосредственно к странице или повторение запросов. Разве это возможно?
Как сохранить datagrid в excel в vb.net?
Я знаю, что это должно быть легко, но как мне экспортировать/сохранить DataGridView в excel?
Поддерживает ли Mono System.Drawing и System.Drawing.Printing?
Я пытаюсь использовать Mono, чтобы загрузить bitmap и распечатать его на Linux, но получаю исключение. Поддерживает ли Mono печать на Linux? Код / исключение приведены ниже:
EDIT: я больше не получаю исключения, но мне все еще интересно, какая поддержка существует. Оставить код для потомков или что-то в этом роде.
private void btnPrintTest_Click(object sender, EventArgs e)
{
_printDocTest.DefaultPageSettings.Landscape = true;
_printDocTest.DefaultPageSettings.Margins = new Margins(50,50,50,50);
_printDocTest.Print();
}
void _printDocTest_PrintPage(object sender, PrintPageEventArgs e)
{
var bmp = new Bitmap("test.bmp");
// Determine center of graph
var xCenter = e.MarginBounds.X + (e.MarginBounds.Width - bmp.Width) / 2;
var yCenter = e.MarginBounds.Y + (e.MarginBounds.Height - bmp.Height) / 2;
e.Graphics.DrawImage(bmp, xCenter, yCenter);
e.HasMorePages = false;
}
ASP.NET AJAX и исключение PageRequestManagerParserErrorException
Кто-нибудь сталкивался с этим сообщением об ошибке раньше при использовании таймера на странице ASP.NET для обновления DataGrid каждые X секунд?
Поиск google дал эту запись в блоге и многое другое, но ничего, что, кажется, относится ко мне еще.
Полный текст сообщения об ошибке ниже:
Sys.WebForms.PageRequestManagerParserErrorException: сообщение, полученное с сервера, не может быть проанализировано. Распространенными причинами этой ошибки являются случаи, когда ответ изменяется с помощью вызовов Response.Write(), фильтров ответов, HttpModules или включен сервер trace.
Есть ли у вас рекомендуемые шаблоны файлов для resharper для VB.Net
Те, что торчат и делают жизнь полезной.
Платформа Microsoft .Net установки 3.5 пакетом обновления 1 не удается
На моей машине Vista я не могу установить .Net framework 3.5 SP1. Установка завершается через несколько минут после завершения загрузки необходимых файлов, указав в журнале, что:
[08/26/08,09:46:11] Microsoft .NET Framework 2.0SP1 (CBS): [2] Error: Installation failed for component Microsoft .NET Framework 2.0SP1 (CBS). MSI returned error code 1
[08/26/08,09:46:13] WapUI: [2] DepCheck indicates Microsoft .NET Framework 2.0SP1 (CBS) is not installed.
Первое, что я сделал, это попытался установить 2.0 SP1, но на этот раз программа установки утверждает, что "product is not supported on Vista system". Хм.
Реальная большая проблема заключается в том, что эта установка не выполняется также при вызове Visual Studio 2008 SP1.
Теперь я искал это в сети, но не нашел реального решения... Любую идею / подсказку? У кого-нибудь были проблемы во время установки SP1?
Спасибо
Динамический нисходящий список элементов управления в WindowsForms и C#?
В нашем проекте SharpWired мы пытаемся создать компонент загрузки, аналогичный загрузке windows в Firefox или Safari. То есть, один единственный сверху вниз список загрузок, которые являются пользовательскими элементами управления, содержащими индикаторы выполнения, кнопки и то, что нет.
Требования состоят в том, что должен быть один единственный список, с одним элементом в каждой строке. Каждый элемент должен быть пользовательским элементом управления. Весь список должен быть динамически изменяемым, чтобы при увеличении / уменьшении длины списка при необходимости добавлялась полоса прокрутки,а при уменьшении / расширении настраиваемые элементы управления изменялись по ширине списка.
Мы пробовали использовать FlowLayoutPanel , но не получили изменения размера, чтобы работать так, как мы хотим. Предпочтительно мы должны только установить привязку пользовательских элементов управления влево & вправо. Мы также подумывали об использовании TableLayoutPanel , но обнаружили, что динамическое добавление строк пока является слишком большой накладной нагрузкой.
Это должно быть довольно распространенный случай использования, и мне кажется немного странным, что FlowLayoutPanel не имеет интуитивного способа сделать это. Кто-нибудь делал что-то подобное или имел советы или хитрости, чтобы заставить нас двигаться вперед?
Ваше здоровье!
/Adam
Общее количество строк в элементе управления GridView с использованием LinqDataSource и подкачки
У меня есть проблема с получением общего количества строк для элементов, отображаемых в A Gridview с помощью подкачки и с A LinqDataSource в качестве источника данных.
Я испробовал несколько подходов:
protected void GridDataSource_Selected(object sender, LinqDataSourceStatusEventArgs e)
{
totalLabel.Text = e.TotalRowCount.ToString();
}
возвращает -1 каждый раз.
protected void LinqDataSource1_Selected(object sender, LinqDataSourceStatusEventArgs e)
{
System.Collections.Generic.List<country> lst = e.Result as System.Collections.Generic.List<country>;
int count = lst.Count;
}
только дает мне подсчет для текущей страницы, а не общее количество.
Есть еще какие-нибудь предложения?
Как я могу обнаружить "path" встроенного ресурса?
Я храню PNG как встроенный ресурс в assembly. Из того же assembly у меня есть такой код:
Bitmap image = new Bitmap(typeof(MyClass), "Resources.file.png");
Файл с именем " file.png " хранится в папке "Resources" (в Visual Studio) и помечается как встроенный ресурс.
Код завершается ошибкой с исключением, говорящим::
Ресурс MyNamespace.Resources.file.png не может быть найден в классе MyNamespace.MyClass
У меня есть идентичный код(в другом assembly, загрузка другого ресурса), который работает. Так что я знаю, что техника-это звук. Моя проблема заключается в том, что я в конечном итоге трачу много времени, пытаясь выяснить, какой правильный путь является. Если бы я мог просто спросить (например. в отладчике) assembly найти правильный путь, что избавило бы меня от груза головной боли.
Уведомить разработчика о методе "DO NOT USE"
Ладно, я знаю, о чем ты думаешь, верно?
Короче говоря, у меня есть класс, который должен быть сериализован в XML. Для того, чтобы XmlSerializer выполнял свою магию, класс должен иметь пустой конструктор по умолчанию:
public class MyClass
{
public MyClass()
{
// required for xml serialization
}
}
Итак, мне нужно иметь его, но я не хочу, чтобы люди его использовали , поэтому есть ли какой-либо атрибут, который можно использовать для обозначения метода как "не использовать"?
Я думал об использовании устаревшего атрибута (поскольку это может остановить сборку), но это просто похоже на "wrong", есть ли другой способ сделать это, или мне нужно идти вперед и кусать пулю? :)
Обновление
OK, я принял ответ кита, так как я думаю в глубине души, я полностью согласен. Вот почему я задал этот вопрос в первую очередь, мне не нравится идея наличия устаревшего атрибута.
Однако...
Существует еще проблема, в то время как мы уведомлены в intellisense, в идеале, мы хотели бы разбить сборку, так есть ли способ сделать это? Возможно, создать пользовательский атрибут?
Здесь был создан более сфокусированный вопрос .
Каков "best" способ создания эскиза с помощью ASP.NET?
История: пользователь загружает изображение, которое будет добавлено в фотогалерею. В процессе загрузки нам необходимо а) сохранить изображение на жестком диске веб-сервера и б) сохранить миниатюру изображения на жестком диске веб-сервера.
"Best" здесь определяется как
- Относительно легко внедряется, понимается и поддерживается
- Результаты в миниатюре разумного качества
Производительность и высокое качество миниатюр являются второстепенными.
Лучший способ поделиться ASP.NET .ascx элементами управления между различными приложениями веб-сайта?
Предположим, у вас есть 2 различных приложения ASP.NET в IIS. Кроме того, у вас есть некоторые элементы управления ASCX, которые вы хотите совместно использовать в этих двух приложениях.
Как лучше всего создать "библиотеку пользовательских элементов управления", чтобы можно было использовать одну и ту же реализацию элементов управления в двух приложениях, не дублируя код?
Элементы управления имеют ASCX с кодом HTML + позади.
Составные элементы управления будут сложными, потому что мы работаем с дизайнерами, которые используют синтаксис HTML в файлах ASCX для стилизации элементов управления.
Тундей, мы используем здесь SVN. У вас есть пример того, как реализовать ваше предложение? Как SVN может совместно использовать элементы управления ASP.NET?
Спасибо!
Создайте атрибут для разрыва сборки
Хорошо, это следует из моего предыдущего вопроса .
То, что я действительно хотел бы сделать, - это создать какой-то атрибут, который позволяет мне украсить метод, который сломает сборку . Очень похоже на устаревший атрибут("reason", true) , но без ложной идентификации устаревшего кода.
Чтобы уточнить: я не хочу, чтобы он нарушал сборку при любом нажатии F6 (Build), я только хочу, чтобы он нарушал сборку, если метод, украшенный атрибутом, вызывается где-то еще в коде. Как я уже сказал, Похоже на устаревшее, но не то же самое.
Я знаю, что я не одинок в этом, так как другие пользователи хотят использовать его по другим причинам . Я никогда не создавал пользовательские атрибуты раньше, так что все это ново для меня!
В ASP.NET, каковы различные способы встроенного кода в .аспн?
Могу ли я получить "когда использовать" для этих и других?
<% %>
<%# EVAL() %>
Спасибо
Есть ли подводные камни при разработке кода C#/.NET в VM, работающем на Mac?
Я подумываю о покупке Apple MacBook Pro. Есть ли какие-либо подводные камни при разработке кода C#/.NET в виртуальной машине, работающей на Mac?
Кроме того, лучше ли для этой цели запускать Vista или XP Pro?
Разница в производительности между IIf() и If
В Visual Basic существует ли разница в производительности при использовании функции IIf вместо оператора If ?
Если IIf() и If()
Недавно я задал вопрос о IIf vs. If и узнал, что в VB есть еще одна функция, называемая If , которая в основном делает то же самое, что и IIf , но является коротким замыканием.
Работает ли эта функция If лучше, чем функция IIf? Превосходит ли оператор If функции If и IIf ?
Как бы вы обрабатывали ошибки при использовании jQuery.ajax()?
При использовании jQuery с ajax способ представить данные форме, что является лучшим способом, чтобы обрабатывать ошибки? Это пример того, как может выглядеть вызов:
$.ajax({
url: "userCreation.ashx",
data: { u:userName, p:password, e:email },
type: "POST",
beforeSend: function(){disableSubmitButton();},
complete: function(){enableSubmitButton();},
error: function(xhr, statusText, errorThrown){
// Work out what the error was and display the appropriate message
},
success: function(data){
displayUserCreatedMessage();
refreshUserList();
}
});
Запрос может завершиться неудачей по ряду причин, таких как дублирование имени пользователя, дублирование адреса email и т. д., и ashx записывается для создания исключения, когда это происходит.
Моя проблема, похоже, заключается в том, что, бросая исключение, ashx вызывает неопределенность statusText и errorThrown .
Я могу добраться до XMLHttpRequest.responseText , который содержит HTML, который составляет стандартную страницу ошибки .net.
Я нахожу заголовок страницы в responseText и использую заголовок, чтобы выяснить, какая ошибка была выброшена. Хотя у меня есть подозрение, что это развалится, когда я включу пользовательские страницы обработки ошибок.
Должен ли я выбрасывать ошибки в ashx, или я должен возвращать код состояния как часть данных, возвращенных вызовом userCreation.ashx , а затем использовать это, чтобы решить, какие действия предпринять?
Как вы справляетесь с этими ситуациями?
Почему трассировки стека исключений всегда указывают на последнюю строку метода?
У меня проблема с установкой Visual Studio. Когда я получаю исключение, у меня всегда есть неправильные номера строк в стеке trace. В моей кодовой базе всегда есть точка до последней строки каждого метода. В то же время это OK, когда я отслеживаю программы с отладчиком. Что случилось с PDBs?
Нет, я не повторяю исключение для каждого метода.
В каждой строке стека trace у меня есть последняя строка соответствующего метода, в то время как исключение было брошено оператором в середине.
Является ли DateTime.Now лучшим способом измерения производительности функции?
Мне нужно найти узкое место и нужно как можно точнее измерить время.
Является ли следующий фрагмент кода лучшим способом измерения производительности?
DateTime startTime = DateTime.Now;
// Some execution process
DateTime endTime = DateTime.Now;
TimeSpan totalTimeTaken = endTime.Subtract(startTime);
Поиск элементов управления, использующих определенный интерфейс в ASP.NET
Имея чертовски много времени с этим, хотя я чувствую, что упускаю что-то очевидное. У меня есть элемент управления, который наследует от System.Web.UI.WebControls.Button, а затем реализует интерфейс, который я настроил. Так что думай...
public class Button : System.Web.UI.WebControls.Button, IMyButtonInterface { ... }
В коде страницы я хотел бы найти все экземпляры этой кнопки из ASPX. Поскольку я действительно не знаю, каким будет тип , просто интерфейс , который он реализует, это все, что мне нужно делать при циклическом прохождении через дерево управления. Дело в том, что мне никогда не приходилось определять, использует ли объект интерфейс, а не просто тестирует его тип. Как я могу перебирать дерево управления и дергать все, что реализует IMyButtonInterface чистым способом (Linq было бы хорошо)?
Опять же, знаю, что это что-то очевидное, но только сейчас начал активно использовать интерфейсы, и я не могу сосредоточиться на результатах Google, чтобы понять это :)
Edit: GetType() возвращает фактический класс, но не возвращает интерфейс, поэтому я не могу проверить это (например, он вернет " MyNamespace.Button "вместо" IMyButtonInterface "). При попытке использовать " as " или " is " в рекурсивной функции параметр type даже не распознается внутри функции! Это довольно странно. Так
if(ctrl.GetType() == typeToFind) //ok
if(ctrl is typeToFind) //typeToFind isn't recognized! eh?
Определенно почесываю голову над этим.
Process.StartTime Доступ Запрещен
Мой код должен определить, как долго выполняется конкретный процесс. Но он продолжает отказывать с сообщением об ошибке отказано в доступе на запрос Process.StartTime . Это процесс, запущенный с учетными данными пользователя (т. е. не процесс с высокими привилегиями). Там явно есть параметр безопасности или параметр политики, или что- то , с чем мне нужно покрутить, чтобы исправить это, так как я не могу поверить, что свойство StartTime находится в рамках только для того, чтобы оно могло отказать 100% раз.
Поиск в Google показал, что я могу решить эту проблему, добавив пользователя, чьи учетные данные код запроса выполняется в группу "Performance Log Users". Однако на этой машине такой группы пользователей не существует.
Лучший способ модульного тестирования ASP.NET MVC методы действий, которые используют BindingHelperExtensions.UpdateFrom?
При обработке сообщения формы у меня есть что-то вроде
public ActionResult Insert()
{
Order order = new Order();
BindingHelperExtensions.UpdateFrom(order, this.Request.Form);
this.orderService.Save(order);
return this.RedirectToAction("Details", new { id = order.ID });
}
Я не использую явные параметры в методе, поскольку я ожидаю, что мне придется адаптироваться к переменному количеству полей и т. д. и метод с 20 + параметрами не является привлекательным.
Я полагаю, что мой единственный вариант здесь-это макет всего HttpRequest, эквивалентный тому, что сделал Роб Конери. Это лучшая практика? Трудно сказать, с рамками, которые так новы.
Я также видел решения, связанные с использованием ActionFilter, чтобы вы могли преобразовать приведенную выше сигнатуру метода в нечто вроде
[SomeFilter]
public Insert(Contact contact)
С помощью Visual Studio 2008 с проектами веб-Deployment - получаю сообщение об ошибке, находя aspnet_merge.exe
Я недавно обновил проект VS2005 web deployment до VS2008 - и теперь я получаю следующую ошибку при построении:
The specified task executable location "bin\aspnet_merge.exe" is invalid.
Вот источник ошибки (из файла web deployment targets):
<Target Name="AspNetMerge" Condition="'$(UseMerge)' == 'true'" DependsOnTargets="$(MergeDependsOn)">
<AspNetMerge
ExePath="$(FrameworkSDKDir)bin"
ApplicationPath="$(TempBuildDir)"
KeyFile="$(_FullKeyFile)"
DelaySign="$(DelaySign)"
Prefix="$(AssemblyPrefixName)"
SingleAssemblyName="$(SingleAssemblyName)"
Debug="$(DebugSymbols)"
Nologo="$(NoLogo)"
ContentAssemblyName="$(ContentAssemblyName)"
ErrorStack="$(ErrorStack)"
RemoveCompiledFiles="$(DeleteAppCodeCompiledFiles)"
CopyAttributes="$(CopyAssemblyAttributes)"
AssemblyInfo="$(AssemblyInfoDll)"
MergeXmlDocs="$(MergeXmlDocs)"
ErrorLogFile="$(MergeErrorLogFile)"
/>
Каково же решение этой проблемы?
Примечание-Я также создал проект web deployment с нуля в VS2008 и получил ту же ошибку.
Простой объект для продукта базы данных
Я рассматривал некоторые различные продукты для .NET, которые предлагают ускорить время разработки, предоставляя возможность бизнес-объектам легко сопоставляться с автоматически создаваемой базой данных. У меня никогда не было проблем с написанием уровня доступа к данным, но мне интересно, действительно ли этот тип продукта сэкономит время, которое он требует. Я также беспокоюсь, что буду отказываться от слишком большого контроля над базой данных и затруднять отслеживание любых проблем на уровне данных. Делают ли эти типы продуктов лучше или хуже в уже сложном случае, когда необходимо изменить структуру базы данных и бизнес-объекта?
Например: Отображение отношений объектов из Dev Express
В сущности, стоит ли оно того? Смогу ли я сэкономить "THAT" много времени, усилий и будущих ошибок?
Компилятор .NET -- DEBUG против RELEASE
В течение многих лет я использую константу компилятора DEBUG в VB.NET для записи сообщений в консоль. Я также использовал System.Diagnostics.Debug.Write подобным образом. Я всегда понимал, что когда RELEASE использовался в качестве опции сборки, все эти операторы были опущены компилятором, освобождая ваш производственный код от накладных расходов отладочных операторов. Недавно, работая с Silverlight 2 Beta 2, я заметил, что Visual Studio на самом деле подключается к сборке RELEASE, которую я запускал с общедоступного веб-сайта, и отображает DEBUG инструкции, которые, как я предполагал, даже не были скомпилированы! Итак, моя первая склонность заключается в предположении, что с моим окружением что-то не так, но я также хочу спросить любого, кто обладает глубокими знаниями о System.Diagnostics.Debug и DEBUG build option в целом, что я могу здесь неправильно понять.
Лучшая архитектура для обработки изменений файловой системы?
Вот такой сценарий:
Я пишу приложение, которое будет следить за любыми изменениями в определенном каталоге. Этот каталог будет заполнен тысячами файлов в минуту каждый с "almost" уникальным GUID. Формат файла такой:
GUID.dat где GUID = = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (внутреннее содержимое не имеет отношения, но это просто текстовые данные)
Мое приложение будет представлять собой форму, которая имеет одно текстовое поле, которое показывает все файлы, которые добавляются и удаляются в режиме реального времени. Каждый раз, когда появляется новый файл, я должен обновить textbox с этим файлом, но сначала я должен убедиться, что этот полу-уникальный GUID действительно уникален, если это так, обновите textbox с этим новым файлом.
Когда файл удаляется из этого каталога, убедитесь, что он существует, а затем удалите его, обновите textbox соответствующим образом.
Проблема в том, что я использую его .NET filewatcher и кажется, что есть внутренний буфер, который взрывается каждый раз, когда входит (buffersize + 1)-й файл. Я также попытался сохранить внутренний список в своем приложении и просто добавить каждый файл, который входит, но позже выполните проверку unique-GUID, но без кубиков.
Linq - SQL: могу ли я загрузить только одно поле в объединенную таблицу?
У меня есть одна таблица "orders" с ключом foreing "ProductID".
Я хочу показать заказы в сетке с названием продукта, без LazyLoad для лучшей производительности, но если я использую DataLoadOptions , он извлекает все поля продукта, что выглядит как перебор .
Есть ли способ получить только название продукта в первом запросе? Можно ли установить какой-то атрибут в DBML?
В этой таблице говорится, что "Foreign-key values"-это "Visible" в Linq-SQL, но не знаю, что это значит.
Edit: изменил название, потому что я действительно не уверен, что нет никакого решения.
Не могу поверить, что ни у кого нет такой же проблемы, это очень распространенный сценарий.
Создание UserControl программно внутри ретранслятора?
У меня есть ретранслятор, который привязан к некоторым данным.
Я привязываюсь к событию ItemDataBound и пытаюсь программно создать UserControl :
В двух словах:
void rptrTaskList_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
CCTask task = (CCTask)e.Item.DataItem;
if (task is ExecTask)
{
ExecTaskControl foo = new ExecTaskControl();
e.Item.Controls.Add(foo);
}
}
Проблема заключается в том, что пока привязка работает, пользовательский элемент управления не отображается на главной странице.
Есть какие-нибудь идеи?
В чем разница между группой и матчем внутри .NET - это RegEx?
В чем разница между группой и матчем внутри .NET - это RegEx?
Универсальные Реализации IBindingListView
Может ли кто-нибудь предложить хорошую реализацию универсального класса коллекции, который реализует интерфейсы IBindingListView & IBindingList и предоставляет возможности фильтрации и поиска?
Я вижу свои текущие варианты как:
- Использование класса, который кто-то другой написал и протестировал
- Наследование от
BindingList<T>и реализация интерфейсовIBindingListView - Напишите пользовательскую коллекцию с нуля, реализуя
IBindingListViewиIBindingList.
Очевидно, что первый вариант является моим предпочтительным выбором.
Как сделать так, чтобы PictureBox использовало пересчет ближайших соседей?
Я использую StretchImage, потому что коробка может быть изменена с помощью сплиттеров. Похоже, что по умолчанию используется какая-то гладкая билинейная фильтрация, в результате чего мое изображение становится размытым и имеет муаровые узоры.
SimpleModal Break ASP.Net Postbacks
Я использую jQuery и SimpleModal в проекте ASP.Net, чтобы сделать несколько хороших диалогов для веб-приложения. К сожалению, любые кнопки в модальном диалоге больше не могут выполнять свои обратные вызовы, что на самом деле неприемлемо.
Есть один источник, который я нашел с обходным путем, но за всю свою жизнь я не могу заставить его работать, главным образом потому, что я не полностью понимаю все необходимые шаги.
У меня также есть обходной путь, который должен заменить обратную связь, но он уродлив и, вероятно, не самый надежный. Мне бы очень хотелось, чтобы эти постбэки снова заработали. Есть какие-нибудь идеи?
UPDATE: я должен уточнить, что обратные сообщения не работают, потому что Javascript, используемый для выполнения обратных сообщений, каким-то образом сломался, поэтому при нажатии на кнопку ничего не происходит.
DoDragDrop и MouseUp
Есть ли простой способ гарантировать, что после того, как drag-and-drop не завершится, событие MouseUp не будет съедено и проигнорировано платформой?
Я нашел сообщение в блоге, описывающее один механизм, но он включает в себя много ручного учета, включая флаги состояния, события MouseMove, ручную проверку "mouse leave" и т. д. все это я предпочел бы не реализовывать, если этого можно избежать.
Windows Vista: не удается загрузить DLL 'x.dll': недопустимый доступ к памяти. (DllNotFoundException)
Сегодня днем я тестировал на коробке клиента, которая имеет Windows Vista (у него был дом, но я тестирую на бизнес-издании с теми же результатами).
Мы используем .DLL, который получает аппаратное обеспечение ID компьютера. Его использование очень просто, и образец программы, которую я создал, работает. Dll - это от AzSdk . На самом деле, это прекрасно работает под Windows XP. Однако, по какой-то странной причине, внутри нашего проекта (намного больше) мы получаем это исключение:
Exception Type: System.DllNotFoundException
Exception Message: Unable to load DLL 'HardwareID.dll': Invalid access to memory location. (Exception from HRESULT: 0x800703E6)
Exception Target Site: GetHardwareID
Я не знаю, что может быть причиной проблемы, так как у меня есть полный контроль над папкой. Проект представляет собой приложение форм c#.net Windows, и все работает нормально, за исключением вызова внешней библиотеки.
Я объявляю его следующим образом: (Примечание: это не библиотека COM, и ее не нужно регистрировать).
[DllImport("HardwareID.dll")]
public static extern String GetHardwareID(bool HDD,
bool NIC, bool CPU, bool BIOS, string sRegistrationCode);
И тогда вызывающий код достаточно прост:
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = GetHardwareID(cb_HDD.Checked,
cb_NIC.Checked,
cb_CPU.Checked,
cb_BIOS.Checked,
"*Registration Code*");
}
Когда вы создаете пример приложения, он работает, но внутри моего проекта он не работает. Under XP работает нормально. Есть ли идеи о том, что я должен сделать в Vista, чтобы сделать эту работу? Как я уже сказал, папка и ее подпапки имеют полный контроль над "Everybody".
UPDATE: у меня не установлена Vista SP 1.
UPDATE 2: я установил Vista SP1 и теперь, когда UAC отключен, даже простой пример не работает!!! : (Чертова Виста.
Как отслеживать запросы на Linq-to-sql DataContext
В подкасте herding code 14 кто-то упоминает, что stackoverflow отображает запросы, которые были выполнены во время запроса в нижней части страницы.
По-моему, это отличная идея. Каждый раз, когда страница загружается, я хочу знать, какие операторы sql выполняются, а также подсчет общего числа DB поездок туда и обратно. Есть ли у кого-нибудь аккуратное решение этой проблемы?
Как вы думаете, какое количество запросов является приемлемым? Я думал, что во время разработки мое приложение может выдать исключение, если для отображения страницы требуется более 30 запросов.
EDIT: мне кажется, я не совсем ясно объяснил свой вопрос. Во время запроса HTTP веб-приложение может выполнить десяток или более операторов sql. Я хочу, чтобы эти утверждения были приложены к нижней части страницы вместе с подсчетом количества утверждений.
ВОТ МОЕ РЕШЕНИЕ:
Я создал класс TextWriter, в который может записываться DataContext:
public class Logger : StreamWriter
{
public string Buffer { get; private set; }
public int QueryCounter { get; private set; }
public Logger() : base(new MemoryStream())
{}
public override void Write(string value)
{
Buffer += value + "<br/><br/>";
if (!value.StartsWith("--")) QueryCounter++;
}
public override void WriteLine(string value)
{
Buffer += value + "<br/><br/>";
if (!value.StartsWith("--")) QueryCounter++;
}
}
В конструкторе DataContext я настроил регистратор:
public HeraldDBDataContext()
: base(ConfigurationManager.ConnectionStrings["Herald"].ConnectionString, mappingSource)
{
Log = new Logger();
}
Наконец, я использую событие Application_OnEndRequest , чтобы добавить результаты в нижнюю часть страницы:
protected void Application_OnEndRequest(Object sender, EventArgs e)
{
Logger logger = DataContextFactory.Context.Log as Logger;
Response.Write("Query count : " + logger.QueryCounter);
Response.Write("<br/><br/>");
Response.Write(logger.Buffer);
}
Открыть файлы из сетевой папки в веб-приложение c#
У меня есть веб-приложение, которое должно читать (и, возможно, записывать) файлы из общего сетевого ресурса. Мне было интересно, как лучше всего это сделать?
Я не могу предоставить сетевой службе или учетным записям aspnet доступ к сетевому ресурсу. Я вполне мог бы использовать олицетворение.
Сетевой ресурс и веб-приложение размещаются в одном домене, и я могу создать нового пользователя в домене специально для этой цели, однако я не совсем уверен, как соединить точки между созданием filestream и указанием учетных данных для использования в веб-приложении.
К сожалению, диск не сопоставлен с сетевым диском на машине, он доступен мне только как сетевой ресурс, поэтому, к сожалению, я не могу сделать прозрачный вызов.
Есть одна проблема, которую я могу придумать с олицетворением... Я могу выдавать себя только за одного пользователя на домен приложения, но я счастлив быть исправленным. Возможно, мне придется записать этот файл в несколько разных общих папок, что означает, что мне придется выдавать себя за нескольких пользователей.
Мне нравится идея создания токена... если я смогу это сделать, то смогу заранее запросить у пользователей их учетные данные, а затем динамически применить защиту и выдавать им значимые сообщения об ошибках, если доступ будет запрещен... Я ухожу играть, но вернусь с обновлениями.
Ошибка инициализации SQL1159 с поставщиком данных DB2 .NET, код причины 7, токены 9.5.0.DEF.2, SOFTWARE\IBM\DB2\InstalledCopies
Я пытаюсь заставить поставщика данных DB2 из 32-разрядного приложения .Net подключиться к DB2, работающему как 32-разрядное приложение на Vista 64 (это еще достаточно запутанно)? К сожалению, я получаю следующую ошибку:
Ошибка инициализации SQL1159 с поставщиком данных DB2 .NET, код причины 7, токены 9.5.0.DEF.2, SOFTWARE\IBM\DB2\InstalledCopies
Есть несколько сообщений на форуме IBM , упоминающих его, но мало полезных указаний. Кто-нибудь испытывал это раньше? Или у вас есть лучшие идеи для его исправления?
Использование .NET CodeDOM для объявления и инициализации поля в одном операторе
Я хочу использовать CodeDOM как для объявления, так и для инициализации моего статического поля в одном операторе. Как я могу это сделать?
// for example
public static int MyField = 5;
Кажется, я могу понять, как объявить статическое поле, и я могу установить его значение позже, но я не могу получить вышеуказанный эффект.
@lomaxx, Нет, я просто хочу статики. Мне не нужен Конст. Это значение может измениться. Я просто хотел простоты объявления и инициализации одним махом. Как будто в мире кодедома все просто. Каждое имя типа имеет длину 20 + символов, и вы в конечном итоге создаете эти огромные деревья выражений. У меня глаза вылезают из орбит. Я жив только сегодня благодаря переформатированию resharper.
Что означает ServerVariables["APPL_MD_PATH"] извлекает путь метабазы для приложения для ISAPI DLL?
Я пытаюсь заставить приложение ASP.net (v2) работать в отладчике и продолжать работать с проблемой, потому что значение, возвращаемое следующим кодом, является пустой строкой:
HttpContext.Current.Request.ServerVariables["APPL_MD_PATH"].ToLower()
Я выяснил, что это "Retrieves the metabase path for the Application for the ISAPI DLL". Может ли кто - нибудь пролить свет на то, что это значит и почему он может быть пустым?
Этот код работает в нашей живой среде, но я хочу, чтобы он работал на моем PC и мог проходить через исходный код, чтобы я мог посмотреть на другую проблему...
Не удается получить доступ к удаленному объекту - как это исправить?
В проекте VB.NET WinForms я получаю исключение
Невозможно получить доступ к удаленному объекту
при закрытии формы. Это происходит очень редко, и я не могу воссоздать его по требованию. Стек trace выглядит следующим образом:
Cannot access a disposed object. Object name: 'dbiSchedule'.
at System.Windows.Forms.Control.CreateHandle()
at System.Windows.Forms.Control.get_Handle()
at System.Windows.Forms.Control.PointToScreen(Point p)
at Dbi.WinControl.Schedule.dbiSchedule.a(Boolean A_0)
at Dbi.WinControl.Schedule.dbiSchedule.a(Object A_0, EventArgs A_1)
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
dbiSchedule - это управление расписанием от Dbi-tech. В форме есть таймер, который обновляет расписание на экране каждые несколько минут.
Есть идеи, что вызывает исключение и как я могу его исправить? или даже просто возможность воссоздать его по требованию?
Hej и! Спасибо за все ответы. Мы останавливаем таймер на событии FormClosing и проверяем свойство IsDisposed в компоненте расписания, прежде чем использовать его в событии Timer Tick, но это не помогает.
Это действительно раздражающая проблема, потому что если кто - то действительно придумал решение, которое сработало-я не смогу подтвердить решение, потому что я не могу воссоздать проблему вручную.
WinForms привязка данных и внешние ключевые связи
Я разрабатываю приложение WinForms (.Net 3.5, no WPF), где я хочу иметь возможность отображать внешние ключи поиска в базе данных DataGridView.
Примером такого рода отношений является то, что у меня есть таблица OrderLines. Линии заказов имеют отношение внешнего ключа к продуктам, а продукты, в свою очередь, имеют отношение внешнего ключа к ProductTypes.
Я бы хотел иметь базу данных DataGridView, где каждая строка представляет собой строку заказа, отображающую продукт и тип продукта этой строки.
Пользователи могут добавлять или редактировать строки заказов непосредственно в сетку и выбирать продукт для строки заказа из comboBoxColumn - это должно затем обновить столбец producttype, отображающий тип продукта для выбранного продукта, в той же строке.
Самый близкий к хорошему подходу, который я нашел до сих пор, - это ввести объект домена, представляющий линию порядка, а затем привязать DataGridView к коллекции этих линий порядка. Затем я добавляю свойства к объекту orderline, которые предоставляют продукт и producttype, и вызываю соответствующие события notifypropertychanged, чтобы поддерживать все в актуальном состоянии. В моем репозитории orderline я могу затем связать сопоставления между этим объектом orderline и тремя таблицами в моей базе данных.
Это работает на стороне привязки данных, но необходимость передавать код всего этого OR-mapping в репозитории кажется плохой. Я думал, что nHibernate сможет помочь с этим подключением, но я борюсь с сопоставлениями через все внешние ключи - они, кажется, работают нормально (поиск foreignkey для продукта orderline создает правильный объект product на основе внешнего ключа), пока я не попытаюсь выполнить привязку данных, я не могу получить столбцы идентификаторов databound для обновления моего продукта или объектов producttype.
Является ли мой общий подход даже в правильном направлении? Если это так, то каково хорошее решение проблемы картографирования?
Или есть ли лучшее решение для привязки данных строк, включая поиск внешних ключей, которое я даже не рассматривал?
Как поймать SQLServer тайм-аут исключения
Мне нужно специально поймать SQL исключений таймаута сервера, чтобы их можно было обрабатывать по-разному. Я знаю, что могу поймать SqlException, а затем проверить, содержит ли строка сообщения "Timeout", но мне было интересно, есть ли лучший способ сделать это?
try
{
//some code
}
catch (SqlException ex)
{
if (ex.Message.Contains("Timeout"))
{
//handle timeout
}
else
{
throw;
}
}
Как я могу сделать манифест .net assembly частным?
Что мне делать, если я хочу освободить .net assembly, но хочу сохранить его внутренние детали в манифесте частными (от утилиты, такой как ildasm.exe ) ?
Подавить диалоговое окно NTLM после несанкционированного запроса
В недавнем проекте sharepoint я реализовал веб-часть аутентификации, которая должна заменить диалоговое окно аутентификации NTLM. Он отлично работает, пока пользователь предоставляет действительные учетные данные. Всякий раз, когда пользователь предоставляет неверные учетные данные, диалоговое окно NTLM появляется в Internet Explorer.
Мой код Javascript, который выполняет аутентификацию через XmlHttpRequest, выглядит следующим образом:
function Login() {
var request = GetRequest(); // retrieves XmlHttpRequest
request.onreadystatechange = function() {
if (this.status == 401) { // unauthorized request -> invalid credentials
// do something to suppress NTLM dialog box...
// already tried location.reload(); and window.location = <url to authentication form>;
}
}
request.open("GET", "http://myServer", false, "domain\\username", "password");
request.send(null);
}
Я не хочу, чтобы диалоговое окно NTLM отображалось, когда пользователь предоставляет недопустимые учетные данные. Вместо этого должна быть выполнена обратная передача с помощью кнопки входа в форму аутентификации. Другими словами, браузер не должен узнать о моем несанкционированном запросе.
Есть ли способ сделать это через Javascript?
Установить ASP.net executionTimeout в коде / "refresh" запрос
У меня будет страница ASP.net, которая создает несколько листов Excel и отправляет их пользователю. Проблема в том, что иногда я получаю тайм-ауты Http, предположительно потому, что запрос выполняется дольше, чем executionTimeout (110 секунд по умолчанию).
Мне просто интересно, какие у меня есть варианты, чтобы предотвратить это, не желая вообще увеличивать executionTimeout в web.config ?
В PHP существует set_time_limit , который можно использовать в функции для продления ее жизни, но я не видел ничего подобного в C#/ASP.net?
Как вы справляетесь с длительными функциями в ASP.net?
Может кто-нибудь указать мне на некоторые руководства для WPF
У меня возникли проблемы с поиском хороших гидов для WPF.
У меня есть опыт работы в C# и .NET но я ничего не знаю о WPF, кроме обычного маркетингового описания технологии в целом.
Может ли кто-нибудь указать мне на хороший учебник для начинающих/руководство по WPF.
Как вы управляете версиями в веб-приложении?
Каковы стратегии управления версиями веб-сайта application/?
Я заметил, что здесь, в бета-версии, есть номер редакции svn в нижнем колонтитуле, и это идеально подходит для приложения, которое использует svn над одним репозиторием. Но что делать, если вы используете внешние программы или другое приложение управления версиями, которое выпускает отдельные файлы?
Это кажется простым для настольного приложения, но я не могу найти подходящий способ управления версиями для веб-приложения asp.net.
NB я не уверен, что был полностью ясен со своим вопросом.
- Я хочу знать, как построить и автоматически увеличить номер версии для приложения asp.net.
- Меня не интересует, как связать его с svn.
Нить не просыпается от Thread.Sleep()
У нас есть служба Windows, написанная в C#. служба порождает поток, который делает это:
private void ThreadWorkerFunction()
{
while(false == _stop) // stop flag set by other thread
{
try
{
openConnection();
doStuff();
closeConnection();
}
catch (Exception ex)
{
log.Error("Something went wrong.", ex);
Thread.Sleep(TimeSpan.FromMinutes(10));
}
}
}
Мы поместили Thread.Sleep через пару раз, когда база данных ушла, и мы вернулись к файлам журналов 3GB, полным ошибок подключения к базе данных.
Это работает нормально в течение нескольких месяцев, но недавно мы видели несколько случаев, когда оператор log.Error() регистрирует исключение "System.InvalidOperationException: This SqlTransaction has completed; it is no longer usable", а затем никогда не возвращается. Служба может быть оставлена работать в течение нескольких дней, но больше ничего не будет зарегистрировано.
Сделав некоторое чтение, я знаю, что Thread.Sleep не идеален,но почему он просто никогда не вернется?
Как синхронизировать историю браузера при использовании Ajax?
Я пишу простое приложение для фотоальбома, используя ASP.NET Ajax.
Приложение использует асинхронные вызовы Ajax для предварительной загрузки следующей фотографии в альбом, не изменяя URL в браузере.
Проблема заключается в том, что когда пользователь нажимает кнопку Назад в браузере, приложение не возвращается к предыдущей фотографии, а переходит на домашнюю страницу приложения.
Есть ли способ обмануть браузер, чтобы добавить каждый вызов Ajax в историю просмотров?
Лучшая практика для динамически добавляемых классов Web.UI.ITemplate
У нас есть несколько шаблонов столбцов ASP.Net dataview, которые динамически добавляются в dataview в зависимости от Столбцов, выбранных пользователями.
Эти шаблонные ячейки должны обрабатывать пользовательские привязки данных:
public class CustomColumnTemplate:
ITemplate
{
public void InstantiateIn( Control container )
{
//create a new label
Label contentLabel = new Label();
//add a custom data binding
contentLabel.DataBinding +=
( sender, e ) =>
{
//do custom stuff at databind time
contentLabel.Text = //bound content
};
//add the label to the cell
container.Controls.Add( contentLabel );
}
}
...
myGridView.Columns.Add( new TemplateField
{
ItemTemplate = new CustomColumnTemplate(),
HeaderText = "Custom column"
} );
Во-первых, это кажется довольно грязным, но есть также проблема ресурсов. Label генерируется и не может быть удален в InstantiateIn , потому что тогда он не будет там для привязки данных.
Есть ли лучший шаблон для этих элементов управления?
Есть ли способ убедиться, что метка удалена после привязки данных и визуализации?
Как отправить email из программы _without_, используя уже существующую учетную запись?
Я бы хотел, чтобы моя программа была в состоянии email мне отчеты об ошибках. Как я могу сделать это без жесткого кодирования a username/password/SMTP server/etc. в код? (Это позволит пользователям декомпилировать программу и взять на себя эту учетную запись email.)
Мне сказали, что вы можете сделать кое-что с телнетингом до порта 25, но я очень нечетко представляю детали. Большинство фрагментов кода в Google предполагают, что у вас уже есть учетная запись, которая не работает в этой ситуации.
Я использую .NET v3.5 (C# в частности), но я бы предположил, что идеи достаточно схожи в большинстве языков. Пока вы понимаете, что я делаю это для автономного приложения, и не предоставляете мне код PHP или что-то еще, мы должны быть в порядке.
Лучшая ORM для C#
Суть задачи в следующем: требуется хранить в базе данных информацию о состоянии объекта (например, следим за задвижкой на насосной станции второго подъема). Параметров по наблюдаемому агрегату может быть много — это температуры, вибрации, значения токов, процент поворота. Кроме того, необходимо сохранять так называемые временные «слепки» (значения всех параметров) состояния агрегата с заданной частотой, например раз в минуту, или по событию (при открытии задвижки), чтобы потом иметь возможность анализа каких-либо нештатных ситуаций.
Хочется работать с данными как с объектами на самом высоком уровне, имея функции запроса и записи их состояния без углубленного погружения в SQL. Подумал об использовании ORM, так как по моему мнению они именно для этого и предназначены. В общем, посоветуйте какую-нибудь стоящую систему.
Реализация транспорта данных по сети на C#
Что посоветуете использовать из существующего или для разработки собственной технологии. Требуется создать транспорт передачи данных как в локальной сети так и через интернет? Желательно использовать надстройки над HTTP для безболезненного преодоления возможных барьеров. Также буду благодарен если подскажете как не использовать Base64 при передаче, чтобы не увеличивать расход трафика.
.Net Неверный формат аргумента функции: ArgumentException или FormatException?
Сначала приведу официальное описание исключений согласно MSDN. Приведу на русском, чтобы всем было понятно:
1. ArgumentException
Это исключение выбрасывается, если один из передаваемых методу аргументов является недопустимым.
2. FormatException
Исключение, выбрасываемое, если формат аргумента не соответствует спецификациям параметра вызываемого метода.
Как видно из официальной документации — оба исключения должны возникать только из-за некорректного значения аргумента, переданного в метод. Т.к. FormatException не наследуется от ArgumentException — многие люди полагают, что в официальной документации ошибка (уже 10 лет никто не удосужился исправить).
Какой же есть четкий критерий когда какое из этих двух исключений выбрасывать? Вот, к примеру,
FileInfo fileInfo = new FileInfo("*"); // ArgumentException
и
Uri uri = new Uri("*"); // UriFormatException
или даже
WebRequest.Create("*"); // UriFormatException
Какие же есть единые стандарты по выбрасыванию ArgumentException|FormatException, чтобы не возникало путаницы?
Спасибо за внимание!
FileInfo fileInfo = new FileInfo("*"); // ArgumentExceptionUri uri = new Uri("*"); // UriFormatExceptionWebRequest.Create("*"); // UriFormatException
NET. WebBrowser Control и StatusCode
Подскажите как используя стандартный контрол WebBrowser, получить StatusCode?
Мне нужно обрабатывать ситуации, когда Response не «200 OK».
Единственное что я нашел это свойство StatusText, которое непонятно что обозначает и какие значения принимает (я видел например «Done» и "" — пустая строка)
Может из контрола можно как-то вытащить объект HttpWebResponse?
Реализация транспорта данных по сети на C#
Что посоветуете использовать из существующего или для разработки собственной технологии. Требуется создать транспорт передачи данных как в локальной сети так и через интернет? Желательно использовать надстройки над HTTP для безболезненного преодоления возможных барьеров. Также буду благодарен если подскажете как не использовать Base64 при передаче, чтобы не увеличивать расход трафика.
.Net Неверный формат аргумента функции: ArgumentException или FormatException?
Сначала приведу официальное описание исключений согласно MSDN. Приведу на русском, чтобы всем было понятно:
1. ArgumentException
Это исключение выбрасывается, если один из передаваемых методу аргументов является недопустимым.
2. FormatException
Исключение, выбрасываемое, если формат аргумента не соответствует спецификациям параметра вызываемого метода.
Как видно из официальной документации — оба исключения должны возникать только из-за некорректного значения аргумента, переданного в метод. Т.к. FormatException не наследуется от ArgumentException — многие люди полагают, что в официальной документации ошибка (уже 10 лет никто не удосужился исправить).
Какой же есть четкий критерий когда какое из этих двух исключений выбрасывать? Вот, к примеру,
FileInfo fileInfo = new FileInfo("*"); // ArgumentException
и
Uri uri = new Uri("*"); // UriFormatException
или даже
WebRequest.Create("*"); // UriFormatException
Какие же есть единые стандарты по выбрасыванию ArgumentException|FormatException, чтобы не возникало путаницы?
Спасибо за внимание!
FileInfo fileInfo = new FileInfo("*"); // ArgumentExceptionUri uri = new Uri("*"); // UriFormatExceptionWebRequest.Create("*"); // UriFormatException
NET. WebBrowser Control и StatusCode
Подскажите как используя стандартный контрол WebBrowser, получить StatusCode?
Мне нужно обрабатывать ситуации, когда Response не «200 OK».
Единственное что я нашел это свойство StatusText, которое непонятно что обозначает и какие значения принимает (я видел например «Done» и "" — пустая строка)
Может из контрола можно как-то вытащить объект HttpWebResponse?
DataGrid и парсинг?
Есть код парсинга ссылки в гриде и удаления строки из грида(из базы так и не могу сделать). Но, тут проблема, когда нажимаю парсинг, выпадает окно(которое я сделал(Message) о запросе удаления строки, и при этом парсинг не происходит. Подскажите, как можно исправить?
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)<br/>
{<br/>
/*---Удаление строки---*/<br/>
<br/>
if (e.RowIndex != -1)<br/>
{<br/>
DialogResult result = MessageBox.Show("Вы УВЕРЕНЫ, что хотите удалить строку из таблицы?",<br/>
"Осторожно. Удаление строки из таблицы", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);<br/>
switch (result)<br/>
{<br/>
case DialogResult.Yes:<br/>
{<br/>
SqlConnection connection = new SqlConnection("server=ROOT-ПК\\SQLEXPRESS; database=edik; uid=sa; pwd=123321");<br/>
connection.Open();<br/>
SqlCommand cmdDel = new SqlCommand("DELETE FROM edik_1 WHERE FeedID = @FeedID", connection);<br/>
SqlParameter param = new SqlParameter();<br/>
param.DbType = DbType.Int32;<br/>
param.ParameterName = "@FeedID";<br/>
// MessageBox.Show(dataGridView1.CurrentRow.Cells[0].Value.ToString());<br/>
<br/>
//0 - это первая ячейка в текущей строке грида<br/>
<br/>
param.Value = dataGridView1.CurrentRow.Cells[0].Value;<br/>
cmdDel.Parameters.Add(param);<br/>
byte count = 0;<br/>
<br/>
try<br/>
{<br/>
count = (byte)cmdDel.ExecuteNonQuery();<br/>
}<br/>
catch (Exception ex)<br/>
{<br/>
MessageBox.Show(ex.ToString());<br/>
}<br/>
finally<br/>
{<br/>
if ((connection != null))<br/>
{<br/>
connection.Close();<br/>
}<br/>
}<br/>
<br/>
if (count > 0)<br/>
{<br/>
dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);<br/>
}<br/>
<br/>
if (e.ColumnIndex == 3) dataGridView1.Rows.RemoveAt(e.RowIndex);<br/>
else if (e.ColumnIndex == 0)<br/>
{<br/>
/*---Парсинг---*/<br/>
XmlTextReader reader = new XmlTextReader((sender as DataGridView)[e.ColumnIndex, e.RowIndex].Value.ToString());<br/>
while (reader.Read())<br/>
{<br/>
switch (reader.Name)<br/>
{<br/>
case "title":<br/>
listBox1.Items.Add(reader.ReadString());<br/>
break;<br/>
case "link":<br/>
listBox1.Items.Add(reader.ReadString());<br/>
break;<br/>
case "pubDate":<br/>
listBox1.Items.Add(reader.ReadString());<br/>
listBox1.Items.Add("\n");<br/>
break;<br/>
}<br/>
} <br/>
<br/>
}<br/>
break;<br/>
}<br/>
<br/>
case DialogResult.No:<br/>
{<br/>
return;<br/>
}<br/>
}<br/>
<br/>
}<br/>
}<br/>
Должно быть так:

Раньше работало, до добавление неких фич(которые тоже нужны).
А теперь, вот так:
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)<br/>
{<br/>
/*---Удаление строки---*/<br/>
<br/>
if (e.RowIndex != -1)<br/>
{<br/>
DialogResult result = MessageBox.Show("Вы УВЕРЕНЫ, что хотите удалить строку из таблицы?",<br/>
"Осторожно. Удаление строки из таблицы", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);<br/>
switch (result)<br/>
{<br/>
case DialogResult.Yes:<br/>
{<br/>
SqlConnection connection = new SqlConnection("server=ROOT-ПК\\SQLEXPRESS; database=edik; uid=sa; pwd=123321");<br/>
connection.Open();<br/>
SqlCommand cmdDel = new SqlCommand("DELETE FROM edik_1 WHERE FeedID = @FeedID", connection);<br/>
SqlParameter param = new SqlParameter();<br/>
param.DbType = DbType.Int32;<br/>
param.ParameterName = "@FeedID";<br/>
// MessageBox.Show(dataGridView1.CurrentRow.Cells[0].Value.ToString());<br/>
<br/>
//0 - это первая ячейка в текущей строке грида<br/>
<br/>
param.Value = dataGridView1.CurrentRow.Cells[0].Value;<br/>
cmdDel.Parameters.Add(param);<br/>
byte count = 0;<br/>
<br/>
try<br/>
{<br/>
count = (byte)cmdDel.ExecuteNonQuery();<br/>
}<br/>
catch (Exception ex)<br/>
{<br/>
MessageBox.Show(ex.ToString());<br/>
}<br/>
finally<br/>
{<br/>
if ((connection != null))<br/>
{<br/>
connection.Close();<br/>
}<br/>
}<br/>
<br/>
if (count > 0)<br/>
{<br/>
dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);<br/>
}<br/>
<br/>
if (e.ColumnIndex == 3) dataGridView1.Rows.RemoveAt(e.RowIndex);<br/>
else if (e.ColumnIndex == 0)<br/>
{<br/>
/*---Парсинг---*/<br/>
XmlTextReader reader = new XmlTextReader((sender as DataGridView)[e.ColumnIndex, e.RowIndex].Value.ToString());<br/>
while (reader.Read())<br/>
{<br/>
switch (reader.Name)<br/>
{<br/>
case "title":<br/>
listBox1.Items.Add(reader.ReadString());<br/>
break;<br/>
case "link":<br/>
listBox1.Items.Add(reader.ReadString());<br/>
break;<br/>
case "pubDate":<br/>
listBox1.Items.Add(reader.ReadString());<br/>
listBox1.Items.Add("\n");<br/>
break;<br/>
}<br/>
} <br/>
<br/>
}<br/>
break;<br/>
}<br/>
<br/>
case DialogResult.No:<br/>
{<br/>
return;<br/>
}<br/>
}<br/>
<br/>
}<br/>
}<br/>
бесплатный драйвер для Sybase под .NET
Подскажите, чем можно бесплатно подсоединиться к базе Sybase из .NET? какие есть ADO, ODBC, OLE драйвера? Или как можно задействовать JDBC?
.NET. Где можно найти таблицу HResult кодов для IOException?
Возникла проблема. Надо отлавливать возникающие ошибки при работе с файловой системой. При этом большая часть ошибок вызывают IOException и отделить одну ошибку от другой получается только по тексту исключения или HResult коду. Какие могут быть HResult коды у IOException (таблицу в MSDN не предлагайте — там 16 тыс. кодов, нужны только для IOException)?
Portable server ASP.NET
Необходим portable server ASP.NET, для демонстрации сайта. Кто что может посоветовать, погуглил, но нормально работающего не нашел.
CSV в C#
Есть ли в C# какие-нибудь встроенные средства для работы с CSV: импорт, экспорт? Не хотелось бы изобретать велосипед, если он уже существует.
.Net работа с Com-портом?
Можете подсказать кусок кода на .Net для поднятия напряжения на любом пине Com-порта(RS232) на отрезок времени в 10сек? Большое спасибо.
Вопрос настройки NLog ( logger for .Net )?
Есть сервис с референсом библиотеки №1,
Сервис вызывает 2 метода из библиотеки №1.
Библиотека №1 содержит референс на библиотеку №2.
Библиотека №1 дергает методы из библиотеки №2.
( Сервис -> библиотека №1 -> библиотека №2 )
Nlog.config сделал для библиотеки №1, окружил вызовы из нее методов библиотеки №2 логгером.
— Конфигурация лога для библиотеки №1:
<font color="black"><font color="#0000ff"><?</font><font color="#800000">xml</font> <font color="#ff0000">version</font><font color="#0000ff">="1.0"</font> <font color="#ff0000">encoding</font><font color="#0000ff">="utf-8"</font> ?<font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">nlog</font> <font color="#ff0000">xmlns</font><font color="#0000ff">="http://www.nlog-project.org/schemas/NLog.xsd"</font><br/>
<font color="#ff0000">xmlns:xsi</font><font color="#0000ff">="http://www.w3.org/2001/XMLSchema-instance"</font><font color="#0000ff">></font><br/>
<br/>
<font color="#0000ff"><</font><font color="#800000">targets</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">target</font> <font color="#ff0000">xsi:type</font><font color="#0000ff">="File"</font> <br/>
<font color="#ff0000">name</font><font color="#0000ff">="logfile"</font> <br/>
<font color="#ff0000">fileName</font><font color="#0000ff">="${basedir}/log_worker.txt"</font> <br/>
<font color="#ff0000">layout</font><font color="#0000ff">="${longdate}:${message} ${exception:format=message,stacktrace:separator=*}"</font> <font color="#0000ff">/></font><br/>
<br/>
<font color="#0000ff"><</font><font color="#800000">target</font> <font color="#ff0000">xsi:type</font><font color="#0000ff">="EventLog"</font><br/>
<font color="#ff0000">name</font><font color="#0000ff">="eventlog"</font><br/>
<font color="#ff0000">layout</font><font color="#0000ff">="${longdate}:${message} ${exception:format=message,stacktrace:separator=*}"</font><br/>
<font color="#ff0000">machineName</font><font color="#0000ff">="zabr-ПК"</font><br/>
<font color="#ff0000">source</font><font color="#0000ff">="ADReplicator Service Job"</font><br/>
<font color="#ff0000">category</font><font color="#0000ff">="ADReplicator"</font><br/>
<font color="#ff0000">log</font><font color="#0000ff">="Application"</font> <font color="#0000ff">/></font><br/>
<br/>
<font color="#0000ff"><</font><font color="#800000">target</font> <font color="#ff0000">xsi:type</font><font color="#0000ff">="Console"</font> <font color="#ff0000">name</font><font color="#0000ff">="console"</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"></</font><font color="#800000">targets</font><font color="#0000ff">></font><br/>
<br/>
<font color="#0000ff"><</font><font color="#800000">rules</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">logger</font> <font color="#ff0000">name</font><font color="#0000ff">="*"</font> <font color="#ff0000">minlevel</font><font color="#0000ff">="Error"</font> <font color="#ff0000">writeTo</font><font color="#0000ff">="eventlog"</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"><</font><font color="#800000">logger</font> <font color="#ff0000">name</font><font color="#0000ff">="*"</font> <font color="#ff0000">minlevel</font><font color="#0000ff">="Trace"</font> <font color="#ff0000">writeTo</font><font color="#0000ff">="logfile"</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"><</font><font color="#800000">logger</font> <font color="#ff0000">name</font><font color="#0000ff">="*"</font> <font color="#ff0000">minlevel</font><font color="#0000ff">="Info"</font> <font color="#ff0000">writeTo</font><font color="#0000ff">="console"</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"></</font><font color="#800000">rules</font><font color="#0000ff">></font><br/>
<font color="#0000ff"></</font><font color="#800000">nlog</font><font color="#0000ff">></font></font><br/>
<br/>
<font color="gray">* This source code was highlighted with <a href="http://virtser.net/blog/post/source-code-highlighter.aspx"><font color="gray">Source Code Highlighter</font></a>.</font>
Вопрос:
Что сделать, чтобы окружить логами библиотеку №2? (Или все то же самое указать?)
<font color="black"><font color="#0000ff"><?</font><font color="#800000">xml</font> <font color="#ff0000">version</font><font color="#0000ff">="1.0"</font> <font color="#ff0000">encoding</font><font color="#0000ff">="utf-8"</font> ?<font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">nlog</font> <font color="#ff0000">xmlns</font><font color="#0000ff">="http://www.nlog-project.org/schemas/NLog.xsd"</font><br/>
<font color="#ff0000">xmlns:xsi</font><font color="#0000ff">="http://www.w3.org/2001/XMLSchema-instance"</font><font color="#0000ff">></font><br/>
<br/>
<font color="#0000ff"><</font><font color="#800000">targets</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">target</font> <font color="#ff0000">xsi:type</font><font color="#0000ff">="File"</font> <br/>
<font color="#ff0000">name</font><font color="#0000ff">="logfile"</font> <br/>
<font color="#ff0000">fileName</font><font color="#0000ff">="${basedir}/log_worker.txt"</font> <br/>
<font color="#ff0000">layout</font><font color="#0000ff">="${longdate}:${message} ${exception:format=message,stacktrace:separator=*}"</font> <font color="#0000ff">/></font><br/>
<br/>
<font color="#0000ff"><</font><font color="#800000">target</font> <font color="#ff0000">xsi:type</font><font color="#0000ff">="EventLog"</font><br/>
<font color="#ff0000">name</font><font color="#0000ff">="eventlog"</font><br/>
<font color="#ff0000">layout</font><font color="#0000ff">="${longdate}:${message} ${exception:format=message,stacktrace:separator=*}"</font><br/>
<font color="#ff0000">machineName</font><font color="#0000ff">="zabr-ПК"</font><br/>
<font color="#ff0000">source</font><font color="#0000ff">="ADReplicator Service Job"</font><br/>
<font color="#ff0000">category</font><font color="#0000ff">="ADReplicator"</font><br/>
<font color="#ff0000">log</font><font color="#0000ff">="Application"</font> <font color="#0000ff">/></font><br/>
<br/>
<font color="#0000ff"><</font><font color="#800000">target</font> <font color="#ff0000">xsi:type</font><font color="#0000ff">="Console"</font> <font color="#ff0000">name</font><font color="#0000ff">="console"</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"></</font><font color="#800000">targets</font><font color="#0000ff">></font><br/>
<br/>
<font color="#0000ff"><</font><font color="#800000">rules</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">logger</font> <font color="#ff0000">name</font><font color="#0000ff">="*"</font> <font color="#ff0000">minlevel</font><font color="#0000ff">="Error"</font> <font color="#ff0000">writeTo</font><font color="#0000ff">="eventlog"</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"><</font><font color="#800000">logger</font> <font color="#ff0000">name</font><font color="#0000ff">="*"</font> <font color="#ff0000">minlevel</font><font color="#0000ff">="Trace"</font> <font color="#ff0000">writeTo</font><font color="#0000ff">="logfile"</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"><</font><font color="#800000">logger</font> <font color="#ff0000">name</font><font color="#0000ff">="*"</font> <font color="#ff0000">minlevel</font><font color="#0000ff">="Info"</font> <font color="#ff0000">writeTo</font><font color="#0000ff">="console"</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"></</font><font color="#800000">rules</font><font color="#0000ff">></font><br/>
<font color="#0000ff"></</font><font color="#800000">nlog</font><font color="#0000ff">></font></font><br/>
<br/>
<font color="gray">* This source code was highlighted with <a href="http://virtser.net/blog/post/source-code-highlighter.aspx"><font color="gray">Source Code Highlighter</font></a>.</font>
"c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.CSharp.targets" cannot be imported again. It was already imported at ..?
После переключения на .Net 4.0 — куча таких warnings при компиляции…
Как это чинится?
HTTP request C# .NET?
Использую HTTP request для получения страничек сайтов.
Что-то типа этого:
…
HttpWebRequest request = WebRequest.Create(Url) as HttpWebRequest;
…
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
...
Иногда всё работает как часы, но порою бывает так что страничка размером несколько КБ не грузится… просто висит, и в итоге всё сваливается по таймауту.
Внимание! Вопрос:
Почему когда я включаю прозрачный прокси на локалхосте все лаги исчезают? Простой пример такой прокси — fiddler (он же HTTP сниффер).
Если выключаю проксю — эти лаги моментально возвращаются.
Литература по ADO.NET
Товарищи .NET разработчики :).
Посоветуйте, пожалуйста, годную литературу по данной технологии.
Да, и еще. Поскольку интеруюсь этой темой пока в образовательных целях, интересует также актуальность ADO.NET сегодня? Я сейчас имею в виду чисто ADO.NET. Используется ли это где сегодня? Или же на замену пришло что-то другое (Entity Framework, NHibernate) и нет смысла уже в эту сторону.
Локальная ООБД для .Net
Коллеги, подскажите какой-нибудь движок ООБД для .Net, чтобы работал локально (на вроде SQLite).
Разработка элементов управления .NET в Visual Studio?
Помогите найти толковую литературу о сабже. Сейчас пишу контрол для WinForms. Больше всего интересует поддержка контролом времени разработки aka design time'а.
Книгу Павла Агурова «C# Разработка компонентов в MS Visual Studio 2005/2008» уже осилил. Хорошая книжка, но есть неточности, и, что важнее, недоговорки. К сожалению, примеры, описанные в книге, не достаточно глубоки, чтобы справиться со всеми проблемами. Также использовал MSDN, но доки трудны для быстрого освоения. Reflector'ом по System.Windows.Forms и System.Design и прочим проходился. Тоже непросто.
В общем, есть ли ещё какие книги/источники хорошие?
Протестировать .Net-приложение на big-endian системе -- где ее взять?
Собственно, хотелось бы проверить работоспособность моей .Net программы на архитектуре с big-endian порядком байт (т.е. где байты расположены «от старшего к младшему»).
Как оказалось, в .Net порядок байт в числе зависит от архитектуры процессора (в отличии от Java, где всегда работаешь с числом как будто оно little-endian, независимо от системы и процессора (Java-исты поправьте меня, если ошибаюсь)). Так что .Net программа, нормально работающая на системе с little-endian, может и не работать вовсе на системе с big-endian.
И такие вопросы в связи с этим:
1. На каких big-endian устройствах может работать .Net/Mono -платформа? Насколько я понимаю на PC big-endian уже не встретишь? Mobile/CE тоже вроде в little-endian. Что остается? X-box? Или и на X-box так-же little-endian? Тогда может MacOS + Mono?
2. Есть ли какая виртуальная машина, которая бы могла эмулировать big-endian процессор? Можно ли туда установить Windows?
Хорошая книга по C#
Ребят, подскажите, что почитать студенту, что бы так-сказать, не стыдно было с базовыми знаниями придти на собеседование? Понятно, что сам все не выучишь и все зависит от направления работы фирмы.
Но все же, какие книги сейчас лучшие? Читаю Троелсена Pro C# 2010. Написано вроде не плохо, но трудновато вникать, не всегда понимая, зачем что-то конкретно нужно и нужно ли будет тебе.
Freelance и платформа NET
Как на ваш взгляд, можно ли комфортно себя чувствовать на рынке фриланса, специалисту по платформе NET, в частности веб-разработчику?
ASP.NET MVC Framework кодирование спецсимволов?
Добрый вечер Хабр!
Недавно начал изучать ASP.NET MVC Framework и столкнулся со следующей проблемой. Допустим я хочу сделать контроллер для поиска по сайту такого вида /search/<слово>. Но ведь пользователь может ввести в поиск что угодно, в том числе и / и * и другие спецсимволы, .NET же по моим ощущениям сначала переводит символы из «кодирования с помощью процентов» в «нормальный вид» и только потом определяет какому контроллеру передать.
Допустим пользователь ввел в поиск «фильмы/игры», на сайт уйдет запрос вида /search/%E8%E3%F0%FB%2F%F4%E8%EB%FC%EC%FB и вот это самое %2F будет сначала переведено в "/", а весь запрос в /search/фильмы/игры и только потом будет определяться контроллер. Соответственно в мой маршрут определенный как /search/{query}/{page}, где на page наложены ограничения либо отсутствует либо состоит и чисел, такой запрос не попадет и сайт вернет 404 ошибку.
Как же правильно экранировать спецсимволы?
Интересна ли кому-нибудь статья про кроссплатформенную разработку на .NET и Mono?
Коллеги, есть интересный опыт разработки, тестирования и деплоймента веб-приложения с использованием .NET 3.5/Mono 2.8.1/Flex, можно осветить следующие вопросы:
- Настройка проектов в IDE: VS 2008/ IDEA 9.x / MonoDevelop 2.4
- Управление конфигурациями — debug, staging, production
- Полуавтоматический деплоймент
- Развертывание и базовое конфигурирование связки mono 2.8.1, mod_mono, apache2, nginx под Ubuntu
Если достаточно заинтересованных наберется, напишу детальную статью.
Где искать верстальщиков XAML (Expression Blend)?
Профессия дизайнера/верстальщика XAML для приложений WPF настолько нова, что традиционные каналы не достаточно эффективны.
Возможна ли работа со сканером в ASP.Net приложении?
Добрый деньвечер!
Имеется некое интранет приложение на ASP.Net и имеется набор библиотек для распознавания паспортов. В настоящее время есть Winforms приложение для сканирования и распознавания паспортов, которое пишет значения полей паспорта в БД либо в буфер обмена. Приложение запускается с вебстраниц при помощи батника с параметрами.
Хочется избавится от необходимости установки отдельного приложения на рабочих местах где необходимо сканирование паспортов.
Как я себе это представляю: в браузере сотрудник нажимает кнопку «сканировать паспорт», изображение с его сканера отправляется на сервер, обрабатывается и на вебформе сотрудник получает заполненые поля.
В каком направлении копать?
Задачка на многопоточность (.NET)?
Какая проблема есть в коде? Как изменить код так, чтобы ее избежать?
using System;
using System.Threading;
namespace Mover
{
internal class Endpoint
{
public int Amount { get; set; }
}
internal class Program
{
private static void Main(string[] args)
{
var source = new Endpoint();
var target = new Endpoint();
var initialAmount = 1000000;
source.Amount = initialAmount;
var thread = new Thread(new ThreadStart(delegate
{
Transfer(source, target, initialAmount);
}));
thread.Start();
Transfer(target, source, initialAmount / 2);
thread.Join();
Console.Out.WriteLine("source.Amount = {0}", source.Amount);
Console.Out.WriteLine("target.Amount = {0}", target.Amount);
}
private static void Transfer(Endpoint source, Endpoint target, int count)
{
while (count-- > 0)
lock (target)
lock (source)
{
source.Amount--;
target.Amount++;
}
}
}
}
using System;
using System.Threading;
namespace Mover
{
internal class Endpoint
{
public int Amount { get; set; }
}
internal class Program
{
private static void Main(string[] args)
{
var source = new Endpoint();
var target = new Endpoint();
var initialAmount = 1000000;
source.Amount = initialAmount;
var thread = new Thread(new ThreadStart(delegate
{
Transfer(source, target, initialAmount);
}));
thread.Start();
Transfer(target, source, initialAmount / 2);
thread.Join();
Console.Out.WriteLine("source.Amount = {0}", source.Amount);
Console.Out.WriteLine("target.Amount = {0}", target.Amount);
}
private static void Transfer(Endpoint source, Endpoint target, int count)
{
while (count-- > 0)
lock (target)
lock (source)
{
source.Amount--;
target.Amount++;
}
}
}
}
Как положить проект ASP.NET в VCS...?
… чтобы следующий разработчик меня не убил?
Я первый раз сделал что-то в MSVC и не знаю, как принято организовывать версионное хранение проекта: что лежит в корне репозитория, какие директории и файлы нужно исключить и т.д.
Использую mercurial.
.NET, WPF, какую версию .NET выбрать — 3.0 или 3.5
Всем привет!
Ситуация следующая. У нас есть достаточно популярная программа для конечных пользователей (не Enterprise), написанная на WinForms и .NET 2.0. В свое время выбрали именно 2.0, чтобы покрыть как можно большее количество пользователей.
Сейчас планируем разрабатывать новую версию. Хотелось бы сделать красивый и необычный дизайн, поэтому оставаться в рамках WinForms будет не очень удобно, и рассматриваем переход на WPF.
У нас есть такие данные по пользователям:
85-90% уже имеют установленный .NET 3.0
60-65% уже имеют установленный .NET 3.5
Идеально было бы остановиться на .NET 3.0, и не заставлять пользователей выкачивать 200 с лишним мегабайт при установке программы (для некоторых трафик все еще является проблемой).
Переходим к вопросам
1. Чем отличается реализация WPF в .NET 3.0 от .NET 3.5?
2. Добавилось ли в 3.5 что-то новое/нужное/удобное?
3. Есть ли в WPF в 3.0 какие-то критичные/неожиданные дефекты, о которых стоило бы знать?
4. Что бы вы выбрали, если бы были на нашем месте?
Заранее спасибо!
Visual Studio, формы и проект без .NET
Я раньше Visual Studio не пользовался, поэтому у меня подозрение, что я чего-то не понимаю. Можно ли создать приложение, не зависящее от .NET, но в котором можно рисовать интерфейс мышкой, добавлять контролы на форму и т.п.?
Версия студии: 2010 бета 1.
Язык: C++.
Требуется поддерживать WinXP без дополнительных библиотек.
Если нет, то какая среда разработки, по вашему мнению, наиболее удобна и умеет то, что я хочу?
Разумно ли писать на чистом WinAPI или искать обертки-библиотеки и писать на них? WinAPI вызывает у меня ужас.
Оценка производительности .net framework?
Знает ли кто-нибудь полезные benchmark'и по производительности .net? Может быть какой-нибудь performance framework? Пока нашёл только NPerf (www.codeproject.com/KB/architecture/nperf.aspx). Интересует оценка производительности самого .net, сравнение различных подходов (например, String.Concat и StringBuilber.Append) и т.п. Хотелось бы поближе познакомиться с существующими наработками.
Best practices .Net web apps для новичка
Коллеги, в головном офисе произошла революция и нас постфактум поставили перед перспективой перехода на .Net (до этого на всех проектах включая последний использовали LAMP).
Инициатором является вновь введенный в команду друг исполнительного директора и факт перехода на новую платформу можно назвать свершившимся.
Я посмотрел на тот код что успели написать и пришел в ужас. Я конечно очень слабо знаком с .Net но все то что написано похоже на «aspx спагетти». Если честно я очень ожидал увидеть хотя бы .Net MVC, от человека с 2мя сертификатами microsoft.
В связи с этим хотелось бы обратиться к сообществу с вопросом: какие сейчас наиболее ходовые или проверенные практики в разработке .Net web apps? .Net MVC к ним относится?
p.s. если знаете полезные ссылки на хабре, буду тем более благодарен.
Узнать предполагаемый размер Label (C# + WPF)?
Надо узнать, каким будет размер Label в пикселях, если его содержимым будет определённая строка, при этом не отображая сам Label.
Код
Label label = new Label();
label.Content = root.value; //тип string
return label.ActualHeight;
возвращает ноль.
Label label = new Label();
label.Content = root.value; //тип string
return label.ActualHeight;