Как использовать 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