August 2005 - Posts
Чтобы использовать Active Directory вместе с Forms аутентификацией, нужно всего лишь настроить Membership для работы с AspNetActiveDirectoryMembershipProvider. Для этого нужно изменить web.config следующим образом:
- Добавить строку соединения:
<connectionStrings>
<add connectionString=“LDAP://DC-fully-qualified-domain-name/CN=Users,DC=blabla,DC=ru“ name="ADConnString"/>
</connectionStrings>
- Добавить секцию membership
<membership defaultProvider="AspNetActiveDirectoryMembershipProvider">
<providers>
<add name="AspNetActiveDirectoryMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider,
System.Web, Version=2.0.3600.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="ADConnString"
connectionUsername="blabla.ru\Administrator"
connectionPassword="password"/>
</providers>
</membership>
Все! Теперь можно входить по имени пользователя и паролю из Active Directory! Правда, в данном случае имя пользователя будет в формате Username@domain
Чтобы использовать SAM Account name (Domain\Username) нужно добавить к <membership> аттрибут attributeMapUsername="SAMAccountName"
По материалам http://blogs.msdn.com/gduthie/archive/2005/08/17/452905.aspx
С помощью классов System.Net.Mail можно будет посылать письма с аттачментами и встроенными картинками.
1 2 3 4 5 6 7 8 9 |
using System.Net.Mail; Attachment attach = new Attachment("MyPic.jpg", System.Net.Mime.MediaTypeNames.Image.Jpeg);
// или так: Attachment attach = new Attachment("MyPic.jpg", "image/jpeg"); MailMessage msg = new MailMessage("from@source.com", "to@destination.com"); msg.Attachments.Add(attach); |
встраивание картинок
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
using System.Net.Mail; using System.Net.Mime; using System.IO;
[...]
string fromAddress = "from@source.com"; string toAddress = "to@destination.com"; string subject = "Test EmbeddedImage"; string contentId = "image1"; string path = Server.MapPath("~") + "\\"; string filename = path + "MyPicture.jpg"; string body = "Here is a linked resource: <img src=\"cid:image1\"/>";
MailMessage mailMessage = new MailMessage(fromAddress, toAddress); mailMessage.Subject = subject; AlternateView av1 = AlternateView.CreateAlternateViewFromString(body, null, MediaTypeNames.Text.Html); LinkedResource linkedResource = new LinkedResource(filename); linkedResource.ContentId = contentId; linkedResource.ContentType.Name = filename; av1.LinkedResources.Add(linkedResource); mailMessage.AlternateViews.Add(av1); mailMessage.IsBodyHtml = true;
SmtpClient mailSender = new SmtpClient("smtpHost"); try { mailSender.Send(mailMessage); labelStatus.Text = "Message sent!"; } catch { labelStatus.Text = ex.Message; } |
Вот, передо мной встала проблема выбора ноутбука. Хочется, чтоб на нем и работать было удобно и 3D по возможности не очень тормозило. После долгих раздумий была выбрана платформа AMD Turion, и после долгого рассмотрения вариантов оставлены два кандидата:
Acer Aspire 5021
К сожалению, его более старшая модификация 5024 в Россию не поставляется, а она бы меня устроила практически полностью. 4200 об/мин HDD и 1,6 Ггц процессор - это все-таки маловато для современной платформы. Зато очень красивый дизайн, хорошая матрица... В общем, увы, скорее всего это не наш выбор.
Maxselect Mission 700
Гибко конфигурируемая платформа, и в общем-то особых недостатков сразу не видно. Что пугает - наша сборка и сервис :) В общем, пока склоняюсь в эту сторону.
Если вдруг кто-нибудь знает ноутбук на платформе Turion с мощной видеокартой ( упомянутые выше обладают Radeon X700 PCI-E 128Mb) - дайте знать.
В этом постинге уже упоминалось об изменении интерфейса, однако не были названы причины.
Раньше у интерфейса был один метод RaiseCallbackEvent, принимавший в качестве параметра строку и возвращавший строку.
Теперь же, принимая во внимание аспекты асинхронной работы он был изменен следующим образом:
Первый метод, RaiseCallbackEvent принимает в качестве параметра ту же строку, что и старый метод, но ничего не возвращает - здесь можно начать асинхронную операцию.
Второй, GetCallbackResult, не принимает параметров и возвращает ту же строку, что и старый метод RaiseCallbackEvent.
Для миграции можно использовать следующий код:
private string _callbackArg;
void ICallbackEventHandler.RaiseCallbackEvent(string eventArgument) {
_callbackArg = eventArgument;
}
string ICallbackEventHandler.GetCallbackResult() {
return RaiseCallbackEvent(_callbackArg);
}
protected virtual string RaiseCallbackEvent(string eventArgument) {
// Сюда нужно скопировать старую реализацию RaiseCallbackEvent
}
По материалам http://weblogs.asp.net/bleroy/archive/2005/08/05/421723.aspx
На MSDN открылась страничка, посвященная миграции приложений ASP.NET на версию 2.0: Upgrade from ASP.NET 1.x
Также можно посмотреть статью по теме: Common ASP.NET 2.0 Conversion Issues and Solutions
Если ваш сайт построен на платформе ASP.NET 2.0, можно гордо использовать эти логотипы - какой больше понравится:



ASP.NET 2.0 предоставляет возможность указывать специфичные свойства контролов для разных браузеров. Напрмер, так:
<asp:label id="label1" runat="server"
text="Long default text"
ie:text="IE default text"
up:text="short text" />
ID браузеров можно посмотреть в файлах .browser, расположенных в директории
%windows%\Microsoft.NET\Framework\version\CONFIG\Browsers
C помощью класса SqlConnectionStringBuilder стало еще удобнее работать со строками соединения.
1)
SqlConnectionStringBuilder conStrbuilder = new SqlConnectionStringBuilder();
conStrbuilder.DataSource = serverName;
conStrbuilder.UserID = uid;
conStrbuilder.Password = pwd;
SqlConnection c = new SqlConnection (conStrbuilder.ConnectionString);
2)
conStrbuilder = new SqlConnectionStringBuilder (configConnectionString);
conStrbuilder.Pooling = false;
//More connection string changes
SqlConnection c = new SqlConnection (conStrbuilder.ConnectionString);
Источник: http://blogs.msdn.com/dataaccess/archive/2005/03/30/403926.aspx
На MSDN опубликован ASP.NET 2.0 Provider Toolkit. В него вошли исходные коды провайдеров для Access из beta 2 фреймворка. Теперь можно с удобствами смотреть, как это все устроено. В середине августа планируется опубликовать подробную документацию по созданию и расширению провайдеров (Provider Toolkit whitepaper).
Позже планируется оубликовать исходные коды провайдеров для SQL Server и Windows AD/AZMAN, которые будут поставляться вместе с .NET Framework 2.0
Подробности можно посмотреть тут: http://weblogs.asp.net/scottgu/archive/2005/08/01/421275.aspx
Блог открыт - посмотрим, что из этого выйдет.
Немного о полезных возможностях нового ASP.NET.
читать тут