Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von S.R.
Thema: C# Front-und Backend Entwickler in Rheinbreitbach gesucht
Am im Forum: Jobbörse

Die Firma Sehen-Design bietet im Großraum Köln/Bonn/Koblenz maßgeschneiderte Lösungen und Beratungsleistung im IT-Segment (Netzwerk, Server, Clients genauso wie Webseiten und individuelle Software-Lösungen) an und betreut branchenübergreifend Kunden jeglicher Größe. Wir beraten und unterstützen unsere Kunden bei der Optimierung Ihrer Geschäftsprozesse und Durchführung komplexer Projekte.
Wir sind ein junges und dynamisches Team und suchen ab sofort Verstärkung. Es erwartet dich eine ausgesprochen gute Arbeitsatmosphäre und partnerschaftliche Zusammenarbeit in einem motivierten Team, welches gemeinsam in einem mittelständischen Unternehmen vorwärts strebt.

Das wünschen wir uns von dir:
- Teamplayer: Kommunikationsfähigkeit und ein sicheres, freundliches und überzeugendes Auftreten auch bei Belastung
- Sicheres, gepflegtes Auftreten gegenüber Kunden
- Eigenverantwortliches, souveränes und professionelles Arbeiten auch während eines turbulenten Arbeitsalltages
- Ausgeprägte Fachkompetenz in der Software-Entwicklung im Microsoft.NET-Framework: Front- und Backend in C#
- Beteiligung am Bereitschaftsdienst
- Deutsch und Englisch als Muttersprache oder mindestens B2

Zur Unterstützung deiner Kompetenz bieten wir:
- Abwechslungsreiche Aufgaben sowohl in der Planung, Umsetzung und Dokumentation von weltweiten Software-Projekten
- Einen langfristigen Arbeitsplatz, attraktive Vergütung, kurze und schnelle Entscheidungswege mit flachen Hierarchien
- Flexible Arbeitszeiten, Home-Office abhängig vom Projekt nach Absprache möglich
- Integration in ein hochqualifiziertes, erfolgreiches und ehrgeiziges Team
- Kein Dress-Code: kleide dich wie du magst
- Regelmäßige Team- und Firmenevents


Unsere Mitarbeiter sind unsere Zukunft. Bewirb dich und ergreife deine Chance!

Wir freuen uns auf deine Online-Bewerbung an:

kontakt@sehen-design.de




Sehen-Design • Vonsbach 35 • 53619 Rheinbreitbach

Thema: Große Dateien per WebRequest versenden
Am im Forum: Web-Technologien

den Security-Eintrag habe ich auch schon drinnen, hilft aber genauso wenig :-)

<requestLimits maxAllowedContentLength="104857600" />

Jetzt schau ich erstmal, wie ich den IIS dazu motiviert bekomme mir mehr Infos anzuzeigen - weil irgendwie will er das momentan nicht :-)

Thema: Große Dateien per WebRequest versenden
Am im Forum: Web-Technologien

Hallo,

ich möchte an unseren IIS 8 größere Daten per C#-WebRequest verschicken. Dafür habe ich grob in C#-Sharp folgendes gecodet:


HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
string postData = Request;
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentType = "application/soap+xml; charset=utf-8";
request.ContentLength = byteArray.Length;
request.KeepAlive = true;
request.Timeout = 5400000; // 90 Minuten, default 100 Sek.
request.Proxy = null;

Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string result = reader.ReadToEnd();

Wenn mein Übergabewert "postData" aus ein paar Zeichen besteht, dann klappt dies tadellos; sind es allerdings ein paar MB (aktuell 24 zum Testen), dann bricht der Code mit dem Fehler "400 Ungültige Anforderung" ab.

Ich bin zu 100% davon überzeugt, dass dies "nur" n' kleine IIS-Servereinstellung und ich dort in ein Timeout versus Speicherbegrenzung laufe. Folgende Werte habe ich bereits angepasst:
<httpRuntime executionTimeout="5400" maxRequestLength="102400" maxQueryStringLength="102400" />

Trotzdem knallt es - selbst nach einem Neustart. Jemand n' Idee, wo mein Fehlerchen liebt bzw. wo ich als nächstes drauf schauen sollte... bin nämlich aktuell was Ideenlos :-)

DANKE!

Gruß

Stefan

Thema: Datei mit WebBrowser-Komponente an URL hochladen
Am im Forum: Web-Technologien

Hallo,

auf Web-Serverseite habe ich eine aspx-Seite, die bei Page_Load die übermittelten Dateien ausliest und auf dem Webserver speichert:

protected void Page_Load(object sender, EventArgs e)
{
  string fileName = HttpContext.Current.Request.Files[0].FileName;

  fileStream = new FileStream("D:\\ + fileName, FileMode.Create, FileAccess.Write);
  HttpContext.Current.Request.Files[0].InputStream.Position = 0;
  HttpContext.Current.Request.Files[0].InputStream.CopyTo(fileStream);
}

Dies funktioniert soweit auch schon sehr gut. Nun benötige ich auf der Gegenseite (Client) noch ein paar Zeilen Code, um mit der WebBrowser-Komponente einen "Datei-Upload" bereitzustellen.

Ich raffe es einfach nicht, wie ich dem WebBrowser es beigebracht bekomme, dass er im Post-Request eine Datei einfügen soll :-(

Bin für jeden Tipp mehr als dankbar!

Gruß

Stefan

Thema: MySQL: Join-Abfage nicht vollständig
Am im Forum: Datentechnologien

Hi,

danke - genau das habe ich gesucht - SUPER :-)

Gruß

Stefan

Thema: MySQL: Join-Abfage nicht vollständig
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MySQL

Hallo,

ich habe hier zwei Tabellen, die wie folgt aufgebaut sind:

Tabelle "user":
|id|vorname|
|1|Stefan|
|2|Alex|

Tabelle "Ereignisse":
|id|user_id|ereignis|
|1|1|eingeloggt|
|1|3|ausgeloggt|

Nun habe ich früher zwei MySql-Abfrage gemacht:

1) SELECT id, user_id FROM Ereignisse WHERE Ereignis=eingeloggt
=> dann hatte ich unter naderem die user_id
2) SELECT vorname FROM user where id=user_id
=> dann hatte ich den passenden Vorname

Jetzt habe ich das ganze in einer JOIN-Abfrage vereinheitlicht:
SELECT ereignis.id, u.vorname FROM Ereignis JOIN user u ON ereignis.user_id=u.id

Dies klappt auch super, sobald in der Tabelle "User" tatsächlich auch ein passender Benutzer existiert. Dies ist allerdings leider im aktuellen System noch nicht der Fall und dies hat zur Folge, dass das gesamte Ergebnis der SQL-Abfrage null ist.

Mein Ziel besteht darin, dass ich den Eintrag bekomme auch wenn der User noch nicht in der users-Tabelle exisitert; der Vorname soll dann null sein oder "".

Ich hab grad keinen blassen Schimmer, wie ich dies zaubern soll :-) Bin für jeden Tipp dankbar!

Gruß

Stefan

Thema: json parsen klappt nicht immer
Am im Forum: Web-Technologien

Hi,

danke für deine schnelle Antwort. Ich nutze bereits

string _json = "{\"Attributes\":[{\"id\":\"1\",\"file\":\"D:\\alex.pdf\"}],\"ErrorID\":\"0\"}"

D:\alex.pdf zeigt er in der Exception an :-)

Wieso sollte denn \a und \s escaped werden?

Gruß

Stefan

Thema: json parsen klappt nicht immer
Am im Forum: Web-Technologien

Hallo,

ich möchte ein JSON parsen und verwende dafür folgenden Code:

string _json = "";
var serializer = new JavaScriptSerializer();
var data = serializer.Deserialize(_json, typeof(object));

Im ersten Schritt setze ich _json auf

string _json = "{\"Attributes\":[{\"id\":\"1\",\"file\":\"D:\\test.pdf\"}],\"ErrorID\":\"0\"}"

Damit klappt es wunderbar. Ändere ich den Wert allerdings von "test.pdf" auf "stefan.pdf" oder "alex.pdf" dann gibt es folgende Exception:

Nicht erkannte Escapesequenz. (37): {"Attributes":[{"id":"1","file":"D:\alex.pdf"}],"ErrorID":"0"}

Ich hab echt keinen blassen Schimmer, wieso dies nicht klappt... Bin total verwundert :-) Bin für jeden Tipp dankbar!!!

Gruß

Stefan

Thema: IIS: regelmäßigen Job ausführen
Am im Forum: Web-Technologien

Hallo,

ich habe mit C-Sharp einen Webservice programmiert und diesen auf unserem IIS installiert - das läuft perfekt.

Der Webservice nimmt entsprechend Daten an, speichert diese in der Datenbank und gibt dann Ergebnisse wieder aus - nichts wildes :-)

Nun ist es aber so, dass in regelmäßigen Abständen diverse Aufgaben im Hintergrund abgearbeitet werden sollen. Bietet hier der IIS schon Schnittstellen, in die ich mich klinken kann oder schreibe ich mir einfach einen Windows-Dienst, der dann regelmäßig z.B. einen SOAP-Request ausführt, der dann die Aufgabe anstößt?

Bin für jeden Tipp dankbar!

Gruß

Stefan

Thema: C#-Zertifizierung 362 (MS MTA für Windows-Software)
Am im Forum: Smalltalk

Hallo,

da ich mich immer mehr mit C# beschäftige, überlege ich aktuell, mich auch mal an eine Zertifizierung zu wagen.

Für den Anfang finde ich die 362 (MS MTA für Windows-Software) als sehr praktischen Einstieg, oder? Folgende Informationen dazu habe ich im Web gefunden: Windows Development Fundamentals

Was haltet ihr davon und könnt ihr mir Tipps geben - bin für jede Hilfestellung dankbar :-)

Gruß

Stefan

Thema: Count einer List<> ist unerwartet 0
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,

vielen Dank... da kommt noch einiges auf mich zu - aber ich lerne gerne :-)

Das Thema "public static"-Konstrukt stammt noch aus Vorgängerzeiten - keine Ahnung wieso das an dieser Stelle erstellt wurde - aber ich fand es mit meinem Halbwissen auch nicht schlecht :-)

Ich habe mir die Stellen nun genau angeschaut und festgestellt, dass man ohne Probleme auch auf static verzichten kann und eine eigene Instanz ohne große Änderung möglich ist. Daher habe ich das jetzt auch mal umgesetzt und siehe da - kein Fehler mehr!!!

Eure Worte werde ich mir zu Herzen nehmen und mich dazu nochmal weiter informieren. VIELEN DANK für die super Anregungen!!!

Gruß

Stefan

Thema: Count einer List<> ist unerwartet 0
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,

vielen Dank für deine Antwort. Das mit dem Fehler werfen war so gemeint, dass die If-Abfrage

if (globals.Projects.ProjectsCount == 0)
    { => FEHLER }

tatsächlich ergibt, dass ProjectsCount == 0 ist. Da hatte ich mich wohl etwas schlecht ausgedrückt *sorry*.

An dieser Stelle fand ich diese Static-Initialisierung gar nicht so schlimm, weil ich einmal zentral die Projekt-Konfiguration lade und dann hin und wieder (z.B. Datenbank-Verbindung) nur die Werte auslese.

Bzgl. Thread-Unsicherheiten habe ich mich gar keine Gedanken gemacht und verstehe auch nicht, wieso dies ein Problem sein kann... Kennst du einen guten Artikel, wo das gut erklärt ist - will das verstehen wie das zu einem Problem kommen kann :-)

Bzgl. Repository Pattern werde ich jetzt mal schauen - sagt mir bisher auch nix :-/ Man lernt halt nie aus :-)

Danke und Gruß

Stefan

Thema: Count einer List<> ist unerwartet 0
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,

ich habe hier ein Problem, was ich mir absolut nicht erklären kann und wo mir auch noch der Ansatz fehlt, wo ich anfangen soll zu suchen :-/ Ich hoffe, ihr könnt mir einen Tipp geben :-)

Ich habe eine public-Klasse "globals", in der ich von fast allen Stellen drauf zu greifen kann, um Basis-Informationen abrufen zu können - z.B. die allgemeinen Projekt-Informationen:

    public class globals
    {
        public static Projects.Projects Projects;
    }

Ich habe einen Webservice geschrieben, der beim Aufruf des SOAP-Requests als erstes folgendes macht:

    globals.Projects = new Projects.Projects(Request.ProjectDirectory);
    globals.Projects.LoadProjectsFromFile();

=> es wird also initialisiert und dann aus einer XML-Datei die Konfiguration geladen. Soweit klappt dies wunderbar.

Nun habe ich das Problem, dass in rund 20% der Fälle (bei gleichem SOAP-Aufruf) die Überprüfung

    if (globals.Projects.ProjectsCount == 0)
                { => FEHLER }

einen Fehler schmeißt, weil ProjectsCount = 0 ist => also offensichtlich keine Projekte geladen wurden. Die Projects-Klasse ist recht einfach gestrickt:

    public class Projects
    {
        private List<Project> PrjList = null;

        public int ProjectsCount
        {
            get
            {
                return this.PrjList.Count;
            }
        }

        public void LoadProjectsFromFile()
        {
            this.PrjList = new List<Project>();
            this.PrjList.Clear();

            XmlDocument xml = new XmlDocument();
            xml.Load(ProjectsFileName);
            
            XmlNode root = xml.DocumentElement;
            XmlNode childNode;

            foreach (XmlNode node in root.ChildNodes)
            {
                ...
                this.PrjList.Add(newProject);
            }

            if (this.ProjectsCount == 0)
                throw new Exception("huhu");
        }

Vor dem Testen hatte ich noch entsprechende try-Blöcke eingebaut - die habe ich aber alle entfernt um zu prüfen, ob es irgendwo knallt - tut es aber nicht.

Was mich total wundert und was ich absolut nicht verstehe: Die "huhu-Exception" wird nie ausgeführt. Das heißt also für mich, dass this.ProjectsCount niemals 0 ist - was ja auch richtig ist.

Wenn ich dann allerdings die gleiche Überprüfung über den SOAP-Request durchführe dann erhalte ich globals.Projects.ProjectsCount == 0. Wie kann das sein? Das ist doch die gleiche get-Funktion, die abgerufen wird... *grübel*

Ich bin für jeden Tipp mehr als dankbar!

Der verzweifelte Stefan :-)

Thema: Performance eines Webservice
Am im Forum: Netzwerktechnologien

Hallo,

vielen Dank für deine Mühen. Meine WebMethod habe ich jetzt komplett reduziert, um jegliche Fälle wie z.B. Dateizugriff oder Datenbankzugriffe auszuschließen:

// Soap-Performance-Test
        [WebMethod(Description = "")]
        public string Test_SOAP()
        {
            return "123";
        }

Nachdem ich diesen Code veröffentlicht habe, hat der erste SOAP-Request rund 600ms gedauert => das verstehe ich vollkommen, weil hier die Erst-Initialisierung stattfindet. Der zweite Aufruf hat dann nur 9ms gedauert. Soweit alles OK und verständlich.

Dann schließe ich meine C#-Anwendung und start sie neu. Dann führe ich den ersten SOAP-Request aus und dann dauert die Antwort 109ms, dann führe ich den zweiten SOAP-Request aus und es dauert 11ms.
=> Hier hört es mit meinem Verständnis dann auf, denn hier sollte kein Initialial-Request stattfinden und jeder Request sollte gleich lange dauern (plus minus ein paar ms Abweichung, aber nicht um den Faktor 10).

Der erste Zeitverzug ist klar - absolut verstanden und daran störe ich mich auch gar nicht; der zweite Zeitverzug wo also keine Initialisierung mehr stattfindet - der stört mich enorm und ich kann ihn mir absolut nicht erklären...

Und so wie ich dich verstanden habe, ist doch genau der zweite Zeitverzug auch bei dir "tatsächlich nachvollziehbar" und hier sprichst du vom Reflector, oder sprechen wir aneinander vorbei?

Danke und Gruß!

Stefan

Thema: Performance eines Webservice
Am im Forum: Netzwerktechnologien

Hi,

sorry, dass ich erst jetzt wieder antworte - viel um die Ohren - aber wer kennt das nicht :-)

Meine weiter durchgeführten Tests:
Ich habe es soeben erneut mit php getestet: Wenn ich in einem php-Script (läuft lokal auf einem Apache unter W7) zwei SOAP-Requests hintereinander ausführe, dann dauert der erste lang und der zweite kurz. Dieses Phänomen habe ich bei jedem Aufruf.

Es ist auch vollkommen egal, ob der erste und der zweite SOAP-Request gleich oder unterschiedlich ist.

Also meine Einschätzung zum "WebRequest.Create()":
Ich würde behaupten, daran liegt es nicht, da es egal ist, ob der SOAP-Server via C#-WebRequest oder via php angesprochen wird. Meiner Einschätzung nach liegt das Problem ganz klar auf Server-Seite (IIS). Hier gehe ich allerdings auch nicht von einem "Start/Initialisierungs-Problem" aus, denn auch folgendes lässt sich bei mir immer reproduzieren:

- Start C#-App1
- Start C#-App2 (gleiches Programm wie App1, nur das zweite Mal ausgeführt)
- App1: 1. SOAP-Request => langsam
- App2: 1. SOAP-Request => langsam
- App1: 2. SOAP-Request => schnell
- App2: 2. SOAP-Request => schnell

Ich finde das echt spannend und interessant, was dies sein könnte - weil erklären kann ich mir das nicht, weil für mich jeder Request an den SOAP-Server gleich sein sollte und da dies via http passiert und http zustandlos ist, ... keine Ahnung... ich kann es mir nicht erklären.

Mein erklärtes Ziel wäre es natürlich, dass jeder SOAP-Request schnell ist und evtl. nur der erste SOAP-Request nach einem Server-Neustart bzw. einer Initialisierung langsam ist.

Teilt ihr meine Einschätzung? Wenn ja - den Reflector kenne ich nicht. Kennt ihr ein gutes HowTo, wie ich dies am IIS anwenden kann? Würde da gerne mal mein Glück versuchen und mein Wissen erweitern...

Danke und Gruß

Stefan

Thema: Performance eines Webservice
Am im Forum: Netzwerktechnologien

Hi,

vielen Dank für deine Mühe! Wenn man manchmal so in seinen Gedanken ist, dann vergisst man doch leider hin und wieder das Westentliche *sorry*

Was genau ist denn der "InitialRequest einer IIS-Anwendung"? Folgende Unklarheiten wirren da in meinem Kopf :-)

1) Wenn ich meine Test-Anwendung auf meinem Rechner starte und das erste Mal auf den Button klicke => ist das der InitialRequest?

2) Der InitRequest gilt doch nicht pro Anwendung, oder? Weil http ist doch ein zustandsloses Protokoll und daher sollte es egal sein, von welcher Anwendung der Request kommt...

Ich habe meine Test-App über Doppelklick aus dem Windows Explorer gestartet, nicht über VS; wobei die Ergebnisse vollkommen identisch sind!

Der Webservice läuft auf eigener Hardware; mein Rechner und der IIS hängen am gleichen Switch im gleichen Netzwerk.

Wenn ich meine Test-App zwei Mal starte, dann klicke ich auf beiden kurz hintereinander den Button => beide brauchen ~230 ms. Dann warte ich (gerade knapp 10 Minuten) und klicke dann bei beiden erneut auf den Button => beide brauchen ~90ms.

Das gleiche Phänomen habe ich auch, wenn ich per php-Script auf meinen Webservice zugreifen => daher schließe ich die Fehlerursache wohl in meiner Test-App aus.

Bzgl. Netzwerkverkehr mitschneiden, habe ich null Erfahrung - wird wohl Zeit sich damit mal zu beschäftigen... :-)

Danke - bin weiterhin für jeden Tipp dankbar!

Gruß

Stefan

Thema: Performance eines Webservice
Am im Forum: Netzwerktechnologien

Hi,

vielen Dank für deine Antwort. Ich glaube da haben wir ein bisschen aneinander vorbei geredet - ich versuche es nochmal anders zu beschreiben :-)

Wenn ich meine Test-App starte und auf den Button klicke, dann dauert der Aufruf meiner Funktion rund 230 ms. Wenn ich dann warte - ruhige eine Minute - und dann erneute auf den Button klicke, dann dauert die Aktion rund 90 ms.

Wenn ich hingegen meine Test-App starte, auf den Button klicke, die Test-App schließe, dann sofort neu starte und erneut auf den Button klicke, dann dauert auch dieser Aufruf 230 ms.

Für mich bedeutet das im ersten Beispiel, dass der IIS die Anwendung noch nicht gestartet hat (daher dauert es etwas länger) und dann beim zweiten Aufruf was schneller ist, weil die Anwendung schon gestartet ist=> verständlich.

Im zweiten Beispiel hingegen dauert ja auch der zweite Aufruf länger, obwohl der IIS die Anwendung ja schon gestartet haben muss (durch den ersten Aufruf).

Der Unterschied liegt ja in diesen zwei Beispielen ja nur daran, ob ich die App zwischendurch neu starte oder nicht... Der IIS sollte doch gar nichts davon mitbekommen, ob die Anwendung neu gestartet wurde oder nicht... oder sehe ich das falsch?

Bin für jeden Tipp dankbar! Bzgl. Idle-Time werde ich mich jetzt mal schlauer machen - das klingt grundsätzlich sehr interessant - obwohl ich glaube, dass es mir in diesem aktuellen Problem nicht hilft *oder docht?*

DANKE!

Gruß

Stefan

Thema: Performance eines Webservice
Am im Forum: Netzwerktechnologien

Hallo,

ich bin gerade dabei einen Webservice in C# unter VS 2012 zu entwickelt - die ersten Funktionen stehen bereits :-)

Nun habe ich mir eine kleine Windows-Test-App geschrieben, mit der ich meine Requests und Reponses testen kann - neben Funktion auch die Performance. Folgend der Code der Test-App:

Stopwatch watch = new Stopwatch();
            watch.Start();

            WebRequest request = WebRequest.Create("http://172.17.1.24/SuSy.asmx");
            request.Method = "POST";
            string postData = textBox3.Text;
            byte[] byteArray = Encoding.UTF8.GetBytes(postData);
            request.ContentType = "application/soap+xml; charset=utf-8";
            request.ContentLength = byteArray.Length;

            request.Proxy = null;
            Stream dataStream = request.GetRequestStream();
            dataStream.Write(byteArray, 0, byteArray.Length);
            dataStream.Close();

            WebResponse response = request.GetResponse();
            dataStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(dataStream);
            this.textBox2.Text += reader.ReadToEnd();

            reader.Close();
            dataStream.Close();
            response.Close();

            watch.Stop();
            MessageBox.Show("Time spent: " + watch.Elapsed);

Den Request habe ich in meiner textBox3 fest hinterlegt - für die ersten Tests reicht mir dies :-) Folgendes habe ich nun festgestellt:

1. Aufruf => 227 ms
2. Aufruf => 82 ms
3. Aufruf => 94 ms

Wenn ich dann wieder das Programm schließe und neu starte, dann erhalte ich folgende Werte:

1. Aufruf => 241 ms
2. Aufruf => 95 ms
3. Aufruf => 94 ms

Ich bin jetzt total verwundert, wieso der erste Aufruf im Verhältnis zu den darauf folgenden zu lange dauert. Folgende Gedanken habe ich mir dazu gemacht:

1) Ich verwende eine feste IP, d.h. alles was mit DNS zu tun hat fällt raus

2) Ich habe vorerst http verwendet und kein https => d.h. alles was mit dem ersten SSL-Handshake zu tun hat, fällt auch raus.

3) Der Quellcode steht in der Funktion button1_Click. Bei jedem Button-Click wird ja alles neu initialisiert, d.h. es dürfte doch "nichts irgendwo gecached" werden, oder?

4) Kann ich den IIS als Ursache ausschließen? Ich würde sagen ja, weil irgendwo muss ja in meiner Test-App ein Unterschied zwischen Neustart der App und erneutem Aufruf der Funktion sein, oder?

Mein Traum wäre natürlich, dass ich auch beim ersten Aufruf die Zeit vom zweiten/dritten/... Aufruf bekomme :-)

Bin für jeden Tipp mehr als dankbar!

Gruß

Stefan

Thema: Webservice in Unterverzeichnis veröffentlichen
Am im Forum: Netzwerktechnologien

Hi,

vielen Dank für für deine Antwort. Habe dies soeben getestet und es klappt sofort. Scheint wohl so, dass ich noch etwas IIS lernen muss :-)

Aber ich denke, da gibt es im Netz genügend Infos zu, was genau diese virtuellen Pfade sind - das werde ich jetzt in einer ruhigen Minute vertiefen!

DANKE!

Gruß

Stefan

Thema: Webservice in Unterverzeichnis veröffentlichen
Am im Forum: Netzwerktechnologien

Hallo,

ich habein VS 2012 einen Webservice geschrieben, der bei mir lokal wunderbar funktioniert. Nun möchte ich diesesn auf unserem IIS (W2K12) veröffentlich.

Als erstes habe ich im VS2012 das Projekt in ein Verzeichnis auf meinem lokalen Server veröffentlicht und anschließend per FTP hochgeladen.

Wenn die Dateien im root-Verzeichnis liegen (z.B.: www.xy.de/test.asmx) dann läuft der Webservice. Wenn ich aber die Dateien in ein Unterverzeichnis hochladen (z.B. www.xy.de/webservice/test.asmx) dann erhalte ich folgenden Fehler:

Fehler
Serverfehler in der Anwendung /.
Parserfehler
Beschreibung: Fehler beim Verarbeiten einer Resource, die für diese Anforderung erforderlich ist. Überprüfen Sie folgende Fehlerinformationen und ändern Sie die Quelldatei entsprechend.

Parserfehlermeldung: Der Typ SOAP konnte nicht erstellt werden.

Quellfehler:
Zeile 1: <%@ WebService Language="C#" CodeBehind="SOAP.asmx.cs" Class="SOAP" %>

Quelldatei: /webservice/SOAP.asmx Zeile: 1

Versionsinformationen: Microsoft .NET Framework-Version:4.0.30319; ASP.NET-Version:4.0.30319.18045

In der Ereignisanzeige von Windows (IIS) erhalte ich dann das Ereignis 1310 von ASP.NET mit dem Event code 3006.


Dies ist das erste Mal, dass ich einen Webservice erstellt habe und auch veröffentlichen darf. Gibt es hier meinerseits einen Denkfehler - weil eigentlich sollte es ja kein Problem darstellen, dass der in einem Unterverzeichnis liegt :-)

Bin für jeden Tipp mehr als dankbar!

Gruß

Stefan

Thema: PowerShell: ungewollter Zeilenumbruch [bei/durch Format-List]
Am im Forum: Rund um die Programmierung

Hallo,

über folgenden Code lese ich ein paar Zeilen aus dem ActiveDirectory und Exchange 2010 aus:

        private void InitializePowerShell()
        {
            this.rsConfig = RunspaceConfiguration.Create();
            PSSnapInException snapInException = null;
            rsConfig.AddPSSnapIn("Microsoft.Exchange.Management.PowerShell.E2010", out snapInException);
            this.runspace = RunspaceFactory.CreateRunspace(this.rsConfig);
            this.runspace.Open();

            RunScript("Import-Module ActiveDirectory");
        }
        private string[] RunScript(string CmdLet)
        {
            Pipeline pipeline = this.runspace.CreatePipeline();
            pipeline.Commands.AddScript(CmdLet);

            pipeline.Commands.Add("Out-String");
            Collection<PSObject> results = pipeline.Invoke();

            return results[0].ToString().Split('\n');
        }

Die Funktion rufe ich z.B. wie folgt auf:

string[] res = RunScript("Get-ADUser -Filter {(Enabled -eq $true)} -Searchbase \"OU=" + Organization + ",DC=domain,DC=,DC=local\" -Properties Description,PasswordLastSet | Fl UserPrincipalName,Description,Name,PasswordLastSet,GivenName,Surname");

Das Script bewirkt, dass ich in dem res[]-Array in jeder Zeile eine Zeile der PowerShell habe. Nun habe ich allerdings das Problem, dass der Eintrag "Name: xy" manchmal über 80 Zeichen lang ist. Dann macht das Script ungewollt einen Zeilenumbruch und schreibt in der nächsten Zeile weiter.

Ich hab keine Ahnung, wie ich dem Ding dies verbiete. Bin für jeden Tipp mehr als dankbar!

DANKE!

Gruß

Stefan

Thema: Drucker ignoriert Landscape und PageSize
Am im Forum: Rund um die Programmierung

Hallo,

ich habe hier einen Broterh QL-720NW Label Printer mit dem mein erster Druck-Versuch problemlos geklappt hat.

1) Unter Windows in den Drucker-Einstellungen ist der Drucker im Modus "Hochformat" konfiguiert - entsprechend kommt auch die Seite raus. Ändere ich diese Drucker-Einstellung auf "Querformat" dann druckt er auch im Querformat korrekt. Die Eigenschaft

PrintDocument pd = new PrintDocument();
pd.PrinterSettings.DefaultPageSettings.Landscape

wird in C-Sharp auch korrekt ausgegeben. Nun möchte ich aber die Ausrichtung in meinem Programm steuern. Unter Windows ist der Drucker als Hochformat eingestellt, daher ergibt Landscape = false. Nun ändere ich den Wert auf true und trotzdem wird die Seite im Hochformat ausgedruck.


PrintDocument pd = new PrintDocument();
pd.PrintPage += printDocument1_PrintPage;
pd.PrinterSettings.DefaultPageSettings.Landscape = true;
pd.Print();

        private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
        {
            Graphics g = e.Graphics;
            g.PageUnit = GraphicsUnit.Millimeter;
            Pen pen = new Pen(Brushes.Black);
            pen.Width = 1;
            g.DrawRectangle(pen, 0, 0, 10, 10);
        }

Was mache ich falsch?


2) In dem Drucker ist ein 62mm breites Endlospapier eingelegt. Die Standardwerte

(pd.PrinterSettings.DefaultPageSettings.PaperSize.Height * 0.254).ToString() // = 89,916 mm
(pd.PrinterSettings.DefaultPageSettings.PaperSize.Width * 0.254).ToString() // = 61,976 mm

stehen unter den Windows-Drucker-Einstellungen auch:
Papierformat: 62mm
Länge: 89,8mm
oberer Rand: 3,0mm

Entsprechend stimmen auch die Werte für pd.PrinterSettings.DefaultPageSettings.PrintableArea.Left.

Nun möchte ich die Länge (Height) des Papiers beeinflussen. Dafür habe ich folgenden Code hinzugefügt:

pd.PrinterSettings.DefaultPageSettings.PaperSize = new PaperSize("Custom", (int) (62/0.254), (int) (150 / 0.254));

Dem Drucker scheint auch dies egal - das Papier wird nach 9cm abgeschnitten und nicht nach 15cm. Interessant ist, dass die Option

pd.PrinterSettings.DefaultPageSettings.PrintableArea.Bottom

trotzdem die Ausgabe 86,952mm hat. Die Seite sollte wg. der geänderten PaperSize ja höher sein und somit sollte auch die PrintableArea länger sein, also irgendwas bei 136mm.

Hat jemand n' Idee, wie ich den Drucker dazu motiviert bekomme entsprechend meinen Wünschen zu Drucken. Bin für jeden Tipp dankbar!!!

Gruß

Stefan

Thema: MetroApp: rechten Maustastenklick ermitteln
Am im Forum: GUI: WPF und XAML

Hallo,

beschäftige mich weiterhin mit der Metro-Programmierung in C-Sharp mit XAML. Leider gibt es mal wieder ein Problem :-(

Einem Button kann ich per XAML relativ leicht die PointerPressed-Funktion zuweisen (<button ... PointerPressed="MeinePointerPressedFunktion"/>), die ich in der Code-Behind-Datei wie folgt hinterlegt habe:

private void MeinePointerPressedFunktion(object sender, PointerRoutedEventArgs e)
{
  // Button-Content anpassen
  (sender as Button).Content = "Button wurde geklickt";
}

Die Pointer-Pressed-Funktion wird allerdings beim Links- und Rechts-Klick mit der Maus ausgeführt (und vermutlich noch bei vielen anderen Klicks, wie z.B. Doppelklick - habe ich aber noch nicht genau getestet).

Ich raff es beim besten Willen nicht, wie ich nun herausbekomme, ob ein Links- oder Rechts-Klick durchgeführt wurde. Dank

if (e.Pointer.PointerDeviceType == Windows.Devices.Input.PointerDeviceType.Mouse)

weiß ich zumindest schon mal, dass das Event von einer Maus kam - damit sind z.B. Gesten/Touch und Stift-Eingaben ausgeschlossen; allerdings wirklich weiterhelfen tut mir das nicht...

Bin für jeden Tipp dankbar!

Gruß

Stefan

Thema: GUI-Controls optisch schön vergrößern und verkleinern
Am im Forum: GUI: WPF und XAML

Hi,

vielen Dank für deine Hilfe. Genau das habe ich gesucht - hat mir seeehr geholfen!

Dankend

Tefan

Thema: GUI-Controls optisch schön vergrößern und verkleinern
Am im Forum: GUI: WPF und XAML

Hallo,

beschäftige mich gerade mit WPF und XAML und möchte mich dabei mehr in GUI und Controls einarbeiten. Dafür möchte ich ein kleines Programm schreiben, wo ich per Button-Click ein neues Image auf die Form lege und dieses dann in der Größe verändern kann. Dies habe ich soweit schon hinbekommen - möchte nun aber, dass es auch nach etwas aussieht. Spontan ins Auge gefallen ist mir dabei der Style von VS beim Verändern einer XAML-Datei:



Ich möchte natürlich nicht VS nachprogrammieren, aber zumindest so ein paar Ideen aufgreifen:
- Linie (x-y-Positionslinien) mit Größenangabe
- Eckpunkte am Image zum Vergrößern/Verkleinern (später auch gerne Drehen)
- Längenangabe

Ich möchte keinen fertigen Code - nur hätte ich gern ein paar Ideen, wie man so etwas am besten realisiert. Damit ich meine Arbeit später wiederverwenden kann, möchte ich definitiv ein eigens Control draus machen - das macht doch Sinn, oder?

Leider habe ich noch keinen Plan, wie ich möglichst sinnvoll die Linien zeichne? Diese liegen ja außerhalb meines Image-Controls. Auf welchem Canvas/Zeichenebene muss ich denn da malen?
Ebenso stellt sich mir die Frage, was zu tun ist, wenn mein Image-Control den Fokus verliert - dann sollen ja die Linien wieder verschwinden - muss ich mir dann merken, was "unter den Linien" war, damit ich diese Bildinformation später wieder zeichnen kann?

Bin für jegliche Anregung dankbar, wie ich so etwas schön umsetzen kann!

Danke und Gruß

Stefan

Thema: MetroApp: Größe von Kacheln verändern
Am im Forum: GUI: WPF und XAML

Hallo,

im folgenden Artikel (Tile image sizes (Metro style apps)) beschreibt MS recht simpel (Abschnitt: How Windows scales tile sizes), dass Tiles eine unterschiedliche Größe haben können.

Habe dies nun in einer Test-App getestet und festgestellt, dass bei mir ausschließlich der Scale-Faktor 80% verwendet wird. Ich vermute, dass es irgendwo eine Einstellung unter Windows gibt, wo man die Kachelgröße ändern kann...

Bin für jeden Tipp dankbar!

Gruß

Stefan

PS: Ich meine natürlich nicht die Einstellung quadratische Kachel versus breite Kachel :-)

Thema: MetroApp: Image per Touch vergrößern und drehen
Am im Forum: GUI: WPF und XAML

Hallo,

probiere mich gerade an WinRT bzw. MetroApps. Habe es mittlerweile geschafft, ein Bild per Kamera aufzunehmen und in einem Image in meiner App anzuzeigen. Soweit so gut...

Nun möchte ich aber per "zwei-Finger-Touch" (Gesten), dass ich das Bild vergrößere bzw. im zweiten Schritt auch drehen kann.

Ich kann es kaum glauben, aber ich finde dazu nichts passendes im Netz - nur grundlegende Infos, wie man Win8 mit Gesten bedient, aber nicht, wie ich es programmiere. Vermutlich bin ich in MetroApps noch so unerfahren und suche mit den falschen Begriffen :-(

Bin für jeden Tipp dankbar!

Gruß

Stefan

Thema: WPF-Applikation in MetroApp umwandeln
Am im Forum: GUI: WPF und XAML

Hallo,

habe meine ersten Tests-Apps im neuen Windows 8 Metro-Style programmiert. Nun möchte ich nach und nach unsere WPF-Anwendung in eine MetroApp umwandeln - eine kleine Herausforderung :-)

In erster Linie geht es mir nicht darum, die GUI umzuwandeln, sondern primär geht es mir im ersten Schritt um die von uns erstellten Utils. Da diese in C# programmiert sind, muss es ja irgendwie möglich sein, das Package so umzuwandeln, dass es in WPF und in Metro verwendet werden kann - denn 99,9% des Codes sind ja gleich und die 0,1% müssen jetzt irgendwie angepasst werden (z.B. der using-Abschnitt).

Habt ihr dafür eine coole Anleitung oder ein HowTo, wie man so etwas am besten meistern kann? Bin für jeden Tipp dankbar!

Danke und Gruß

Stefan

Thema: eigene Formulare erstellen und ausgeben
Am im Forum: GUI: Windows-Forms

Hi,

"ohne externe Software" - da habe ich mich wohl etwas unklar ausgedrückt :-) Was ich nicht möchte ist, dass ein Anwender eine externe kostenpflichtige Software auf seinem Rechner haben muss (z.B. Word).

Wenn ich allerdings externe Bibliotheken einbinden (die dürfen auch gerne was kosten) muss, dann ist dies überhaupt kein Problem.

Ein PDF-Dokument in C# anzuzeigen, geht mit dem Acrobat Reader Plugin im ersten Test problemlos. Hier muss ich jetzt nur noch sicherstellen, dass die richtige Reader-Version installiert ist.

Für die Umwandlung von Tex nach Pdf gibt es viele Wege - zumindest habe ich viele gefunden. Hier habe ich noch keine Erfahrung und wurschtel mich da gerade durch...

Den ReportViewer werde ich mir auch noch mal genau anschauen - weil den kann ich ja auch kostenlos bei jedem Anwender installieren. Allerdings habe ich noch kein wirklich gutes HowTo gefunden (aber auch noch nicht lange gesucht) :-)

Soweit zum aktuellen Stand der Tests und Evaluierungen... :-) Bin für jeden weiteren Tipp mehr als dankbar!

Gruß

Stefan

Thema: eigene Formulare erstellen und ausgeben
Am im Forum: GUI: Windows-Forms

Lese mich gerade in die MS Reporting Tools rein... Brauche ich dafür immer eine SQL-Server-Anbindung? Oder können im Local Modus die Daten auch anderen Quellen kommen?

Danke und Gruß

Stefan