Как использовать Makecert

Эта утилита нужна для создания сертификатов, например их можно использовать как тестовые для проверки работы SSL. Нужно запустить Developer Command Prompt (идет в комплекте с Visual Studio). Пример: Makecert –r –pe –n CN="www.example.com" –b 05/10/2010 –e 12/22/2011 –eku 1.3.6.1.5.5.7.3.1 –ss my –sr localmachine -sky exchange –sp "Microsoft RSA SChannel Cryptographic Provider" –sy 12 MyCertForExampleCom.cer Эта команда создает само заверяющий сертификат, который может использоваться для тестирования веб-приложения, которое использует протокол SSL (Secure Sockets Layer) на веб-сервере, URL-адрес которого является www....

April 11, 2013 · 2 мин · ksemenenko

GridView Parallax - Смещение фона при скроле GridView

public MainPage() { this.InitializeComponent(); itemGridView.Loaded += itemGridView_Loaded; // наш GridView } void itemGridView_Loaded(object sender, RoutedEventArgs e) { var scrollViewer = this.itemGridView.GetFirstDescendantOfType<ScrollViewer>(); scrollViewer.ViewChanged += scrollViewer_ViewChanged; } void scrollViewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e) { var scrollViewer = this.itemGridView.GetFirstDescendantOfType<ScrollViewer>(); var delta = (scrollViewer.HorizontalOffset / scrollViewer.ScrollableWidth) * (BackImage1.ActualWidth - scrollViewer.ViewportWidth); BackImage1.Margin = new Thickness(-delta, 0, 0, 0); } ...

February 26, 2013 · 1 мин · ksemenenko

Завершение процессов в C#

var myproc = System.Diagnostics.Process.GetProcessesByName("MyTestProgram").ToList(); if (myproc.Count > 1) { foreach (var item in myproc) { if (item.Id != System.Diagnostics.Process.GetCurrentProcess().Id) { item.Kill(); } } } ...

January 21, 2013 · 1 мин · ksemenenko

Как получить версию приложения C#

Версия приложения Assembly.GetExecutingAssembly().GetName().Version; Версия файла System.Diagnostics.FileVersionInfo .GetVersionInfo(Assembly.GetExecutingAssembly().Location); ...

January 18, 2013 · 1 мин · ksemenenko

Скриншот с WPF WebBrowser

public static string GetThumbnailImage(WebBrowser CurrentBrowser) { Guid guid = Guid.NewGuid(); string ThumbnailPath = guid.ToString() + ".png"; Image imgScreen = new Image(); imgScreen.Width = 120; imgScreen.Height = 100; imgScreen.Source = new DrawingImage(VisualTreeHelper.GetDrawing(CurrentBrowser)); FileStream stream = new FileStream(ThumbnailPath, FileMode.Create); DrawingVisual vis = new DrawingVisual(); DrawingContext cont = vis.RenderOpen(); cont.DrawImage(imgScreen.Source, new Rect(new Size(120d, 100d))); cont.Close(); RenderTargetBitmap rtb = new RenderTargetBitmap((int)imgScreen.Width, (int)imgScreen.Height, 96d, 96d, PixelFormats.Default); rtb.Render(vis); PngBitmapEncoder encoder = new PngBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(rtb)); encoder.Save(stream); stream.Close(); return ThumbnailPath; } ...

September 15, 2012 · 1 мин · ksemenenko

Как сделать скриншот с WPF контрола

public void SaveImage(Visual visual, string filePath) { Rect bounds = VisualTreeHelper.GetDescendantBounds(visual); RenderTargetBitmap bitmap = new RenderTargetBitmap((Int32)bounds.Width, (Int32)bounds.Height, 96, 96, PixelFormats.Pbgra32); bitmap.Render(visual); PngBitmapEncoder image = new PngBitmapEncoder(); image.Frames.Add(BitmapFrame.Create(bitmap)); using (Stream fs = File.Create(filePath)) { image.Save(fs); } } ...

September 14, 2012 · 1 мин · ksemenenko

Как создать поток C#

void RunThread() { System.Threading.Thread newThread; newThread = new System.Threading.Thread(Run); newThread.Start(); } void Run() { //якась робота } ...

September 12, 2012 · 1 мин · ksemenenko

Динамическая компиляция и в выполнение кода C#

//[FileIOPermission(SecurityAction.Deny, Unrestricted = true)] private object InvokeMethod(Type evaluatorType, string methodName, object evaluator, object[] methodParams) { try { return evaluatorType.InvokeMember(methodName, System.Reflection.BindingFlags.InvokeMethod, null, evaluator, methodParams); } catch { return null; } } public string EvalCode(string typeName, string methodName, string sourceCode) { string output = ":)"; var compiler = CodeDomProvider.CreateProvider("CSharp"); var parameters = new CompilerParameters { CompilerOptions = "/t:library", GenerateInMemory = true, IncludeDebugInformation = true, }; foreach (var reference in AppDomain.CurrentDomain.GetAssemblies()) { try { parameters....

September 11, 2012 · 1 мин · ksemenenko

Паралельные операции в C# и как это использовать

Паралельность может быть в двух видах. Паралельные циклы Паралельный LINQ Как этим пользоваться? Для паралельных операций надо использовать конструкции вида: Parallel.ForEach(collection, currentElement => { // что-то делаем }); Parallel.For(0, 50, i => { // что-то делаем }); для остановки Parallel.For: Parallel.For(0, source.Length, (i, loopState) => { if (i < 100) { double d = Compute(source[i]); results.Push(d); } else { loopState.Stop(); return; } }); Очень важно использовать коллекции типа ConcurrentBag(T) Из неймспейса System....

September 5, 2012 · 1 мин · ksemenenko

.NET шифрование RSA с помощью открытого или закрытого ключа

Для начала нам нужно получить открытый и закрытый ключи, далее их нужно где-то сохранить для последующей работы. Затем взять нужные данные, сконвертировать их в массив байтов и зашифровать Ну а затем расшифровать. Собственно открытым мы шифруем, закрытым дешифруем. Собственно вот пример кода который все иллюстрирует using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { RSACryptoServiceProvider RsaKey = new RSACryptoServiceProvider(); string publickey = RsaKey....

1 мин · ksemenenko