C# 8 способів створити потік

BackgroundWorker bw = new BackgroundWorker(); bw.DoWork += (ob, se) => { //работа потока int a = 5; }; bw.RunWorkerAsync(); System.Threading.Thread newThread; newThread = new System.Threading.Thread(() => { int a = 5; }); newThread.Start(); new System.Threading.Thread(() => { int a = 5; }).Start(); ThreadPool.QueueUserWorkItem((obj) => { int a = 5; }); ```cs Parallel.Invoke(() => { int a = 5; }); Task.Run(() => { int a = 5; }); Task t1 = new Task(() => { int a = 5; }); t1....

August 18, 2014 · 1 хв · ksemenenko

Визначення символу роздільника десяткового числа C#

Для цих цілей служить string separator = System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator; Цим ми отримаємо роздільник для поточної культури, також звідти можна отримати ще багато чого корисного. http://msdn.microsoft.com/ru-ru/library/system.globalization.numberformatinfo.numberdecimalseparator.aspx...

June 3, 2014 · 1 хв · ksemenenko

Як покласти збірку до GAC

gacutil.exe –i my.dll ...

March 12, 2014 · 1 хв · ksemenenko

C# парсінг рядка запиту з браузера

Для нормального парсинга параметрів з рядка запиту найкраще використовувати метод HttpUtility.ParseQueryString() string qs = "?param1=value1&param2=value2"; NameValueCollection query = HttpUtility.ParseQueryString(qs); ...

January 24, 2014 · 1 хв · ksemenenko

Використання модулів в WebAPI

створити клас з хендлером public class CustomHeaderHandler : DelegatingHandler { protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { request.Headers.Remove("Server"); request.Headers.Add("Server", "WDAPI Server 4"); return base.SendAsync(request, cancellationToken); } } добавить наш хендлер HttpConfiguration config = new HttpConfiguration(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional }); // ось так можна додавати Хендлер для обробки запитів на низькому рівні config.MessageHandlers.Add(new CompressedRequestHandler()); config.MessageHandlers.Add(new GZipToJsonHandler()); config.MessageHandlers.Add(new CustomIHeaderHandler()); app.UseWebApi(config); ссылки:...

January 15, 2014 · 1 хв · ksemenenko

Як в WebApi выдати html

public HttpResponseMessage GetHTML() { var response = this.Request.CreateResponse(); response.Content = new StringContent(@" <html> <head> </head> <body> Test </body> </html> "); response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html"); return response; ...

January 11, 2014 · 1 хв · ksemenenko

Інсталяція Windows Service і запуск з параметрами

У класі інсталлері проекту потрібно додати: public partial class ProjectInstaller : System.Configuration.Install.Installer { public ProjectInstaller() { this.InitializeComponent(); } protected override void OnBeforeInstall(System.Collections.IDictionary savedState) { this.Context.Parameters["assemblypath"] = this.AppendPathParameter(Context.Parameters["assemblypath"], "-service"); base.OnBeforeInstall(savedState); } protected override void OnBeforeUninstall(System.Collections.IDictionary savedState) { this.Context.Parameters["assemblypath"] = this.AppendPathParameter(Context.Parameters["assemblypath"], "-service"); base.OnBeforeUninstall(savedState); } protected virtual string AppendPathParameter(string path, string parameter) { if (path.Length > 0 && path[0] != '"') { path = string.Format("\"{0}\"", path); } path += string.Format(" {0}", parameter); return path; } } http://stackoverflow....

December 23, 2013 · 1 хв · ksemenenko

Як видалити збережені адреси з RDP

в реєстрі за адресою: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Terminal Server Client перебувати список збережених підключень....

October 27, 2013 · 1 хв · ksemenenko

Як встановити стару (або будь-яку іншу) версію пакету через NuGet

У Visual Studio, в консолі NuGet: Uninstall-Package Newtonsoft.Json -Force Install-Package Newtonsoft.Json -Version <press tab key for autocomplete> ...

October 16, 2013 · 1 хв · ksemenenko

.NET перевірка MD5

using (var md5 = MD5.Create()) { using (var stream = File.OpenRead(filename)) { return md5.ComputeHash(stream); } } http://stackoverflow.com/questions/10520048/calculate-md5-checksum-for-a-file...

September 11, 2013 · 1 хв · ksemenenko

mssql видалити всі таблиці з бази даних

Скрипт для видалення всіх таблиць з бд для mssql USE [DATA-BASE-NAME] GO declare @i int set @i = 0 while (@i<99) begin declare @table_name varchar(100) declare table_list cursor for select name from sysobjects o2 where xtype='U' and not exists ( select * from sysforeignkeys k join syscolumns c1 on (k.fkeyid = c1.id and c1.colid=k.fkey) join syscolumns c2 on (k.rkeyid = c2.id and c2.colid=k.rkey) where c2.id = o2.id and c1.id <> o2....

September 11, 2013 · 1 хв · ksemenenko

.NET запуск додатків з програми (exe)

Process myProcess = new Process(); myProcess.StartInfo.FileName = "someApp.exe"; myProcess.Start(); ...

August 13, 2013 · 1 хв · ksemenenko

.NET Запуск від імені адміністратора

WindowsIdentity id = WindowsIdentity.GetCurrent(); WindowsPrincipal principal = new WindowsPrincipal(id); bool isRunAsAdmin = principal.IsInRole(WindowsBuiltInRole.Administrator); // Если нет прав админа if (!isRunAsAdmin) { ProcessStartInfo proc = new ProcessStartInfo(); proc.UseShellExecute = true; proc.WorkingDirectory = Environment.CurrentDirectory; proc.FileName = System.Windows.Forms.Application.ExecutablePath; proc.Verb = "runas"; proc.Arguments = string.Empty; try { Process.Start(proc); } catch { } Application.Current.Shutdown(); } ...

July 12, 2013 · 1 хв · ksemenenko

Як передати в Binding поточний елемент XAML

{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:SomeType}}} {Binding ElementName=SomeElementNAME} {Binding RelativeSource={RelativeSource Self}} {Binding RelativeSource={x:Static RelativeSource.Self}} ...

July 2, 2013 · 1 хв · ksemenenko

Локалізація ресурсів .NET

Раптово відкрив для себе дополененіе до Visual Studio Resource Translator від Microsoft. http://visualstudiogallery.msdn.microsoft.com/c23de518-d3bc-4b1a-a8d8-6ce43fdb2ff4?SRC=VSIDE Після установки тиснете правою кнопкою на файлі ресурсів який потрібно локалізувати, вибираєте мову і вперед....

June 21, 2013 · 1 хв · ksemenenko