Overføre parametre fra en applikation til en anden
Hej...
Jeg har lavet et program som skal starte et andet program og samtidigt overføre en lang tekststreng som jeg kan bruge i det nyåbnede program.
Jeg har prøvet
System.Diagnostics.Process.Start("c:\min.exe","\"min virkeligt lange tekststreng\""); som giver en fejl fordi jeg ikke kan overføre særligt mange data på denne måde. Hvad skal jeg så gøre? kan jeg ikke aflevere et objekt som kan indeholde min lange streng??
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Du kan desværre ikke overføre objekter fra ét program til et andet via en kommandolinje. Hvis du har behov for at anvende meget lange tekststrenge, kan du omgå det ved at gemme tekststrengen i en .txt fil som du så indlæser i det andet program.
/// Denne kode gemmer filen med indhold ///
using System; using System.Collections.Generic; using System.Text; using System.IO;
namespace Skriv_til_inputfil { class Program { static void Main(string[] args) { string output = "Dette er en tekst til test af inputfil."; StreamWriter sw = new StreamWriter(@"C:\input.txt"); sw.AutoFlush = true; sw.Write(output); sw.Close(); Process.Start(@"C:\laes_fra_inputfil"); } } }
/// Denne code indlæser filen med indhold ///
using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Diagnostics;
namespace Skriv_til_inputfil { class Program { static void Main(string[] args) { string input = ""; StreamReader sr = new StreamReader(@"C:\input.txt"); try { input = sr.ReadToEnd(); FileInfo file = new FileInfo(@"C:\input.txt"); file.Delete(); } catch { } finally { sr.Close(); } } } }
Hvis command line ikke duer saa er der: A) fil B) IPC 1) named pipes 2) raa sockets 3) remoting
Hvis du ved at: - apps altid vil koere paa samme maskine - maskinen vil altid have .NET 3.5 - data kan vaere saa store at data skal streames saa er named pipes et glimrende valg.
Tag et kig på NAMED PIPES og WCF, det er hurtigt lige at få op og køre..
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.