Laden...
Avatar #avatar-2711.jpg
1nf1n1ty myCSharp.de - Member
Software Engineer Dabei seit 02.07.2007 286 Beiträge
Benutzerbeschreibung

Forenbeiträge von 1nf1n1ty Ingesamt 286 Beiträge

19.12.2008 - 10:00 Uhr

Hallo Peter,

download.aspx ist in der Web.config vermerkt weil es selbst keine Seite ist:


<add verb="*" path="Download.aspx" type="Website.ProtocolDownload,Website"/>

Grüße Marco

18.12.2008 - 15:31 Uhr

Im moment ist das ja mit diesem Developmentserver gehostet.

€: WCF-Diensthost, so der wird jedes Mal gestartet wenn ich debugge und da ist der Service momentan gehostet.

18.12.2008 - 14:23 Uhr

Hallo zusammen,

also ich hänge tatsächlich fest weil ich vermutlich irgendeine Kleinigkeit vergessen habe. Ich habe sowohl auf Server als auch Client streaming per web.config (bzw. app.config beim Service) aktiviert. Wenn ich kleine Dateien übertrage funktioniert es, bei großen erhalte ich wieder -> Verbindung unterbrochen 😦

Was könnt ich vergessen haben?
Auf dem Client (web.config)


  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_IValidationService" closeTimeout="00:01:00"
         openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
         allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
         maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
         messageEncoding="Text" textEncoding="utf-8" transferMode="Streamed"
         useDefaultWebProxy="true">
          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
           maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          <security mode="None">
            <transport clientCredentialType="None" proxyCredentialType="None"
             realm="" />
            <message clientCredentialType="UserName" algorithmSuite="Default" />
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <client>
      <endpoint address="http://localhost:8731/Design_Time_Addresses/ValidationService/"
       binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IValidationService"
       contract="ValService.IValidationService" name="BasicHttpBinding_IValidationService" />
    </client>
  </system.serviceModel>

Auf dem Service:


<bindings>
      <basicHttpBinding>
        <binding name="UploadBinding" messageEncoding="Text" transferMode="Streamed" maxReceivedMessageSize="65536"/>
      </basicHttpBinding>
    </bindings>
      <services>
      <service behaviorConfiguration="ValidationServiceBehavior" name="ValidationService">
        <endpoint address="" binding="basicHttpBinding" contract="IValidationService">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8731/Design_Time_Addresses/ValidationService/" />
          </baseAddresses>
        </host>
      </service>
    </services>

Wie gesagt übergebe ich beim Methodenaufruf einfach nur ein Streamobjekt, dennoch passiert nix 😦

Für jeden Tipp wäre ich dankbar!

Grüße Marco

18.12.2008 - 11:39 Uhr

Is ja echt fett 😄 Ich bin echt begeistert das es so einfach geht. Ich habs mir echt schwerer vorgestellt. Ok, dann les ich mal und versuch dann mal mein Glück. 😃

Vielen Dank schonmal. Wenn ich auf Probleme stoße werde ich mich sicher nochmal melden 😉

18.12.2008 - 11:22 Uhr

Das ist richtig, aber regelt der das alles selber wie er die Daten bekommt? Es ist ja so:

  • Die Seite bekommt über den FileUpload die ContentBytes, diese stecke ich in einen Stream.
  • Den Stream übergebe ich der Methode, die ich am WebService aufrufe. Die Dateien können maximal 20MB groß sein.
  • Der WebService ruft als erstes in dieser Methode (also die aufgerufene Methode) die Deserialisierungs-Methode auf die ich geschrieben habe.

Und das alles funktioniert ohne Probleme einfach so? Wenn ja, dann bin ich echt begeistert 😄

€: Vielen Dank für die Links

18.12.2008 - 08:32 Uhr

Hallo zusammen,

d.h. ich müsste meinen Service auf einen WCF migrieren. Den kann man ja soweit ich weiss auch mit dem IIS hosten. MTOM sagt mir jetzt noch nicht soviel, da muss ich mal schauen was das ist und wies funktionieren soll.

Danke schonmal.

Grüße Marco

€: Wenn ich den Service nun als WCF habe, reicht des dann statt byte[] einfach einen Stream zu übergeben oder verstehe ich das falsch?

€2: Also ich bin nun soweit, dass ich meinen asmx Service weggeschmissen hab und einen WCF Service geschrieben habe. Diesen habe ich nun im IIS gehostet und entsprechende Konfigurationen durchgenommen und in meine Applikation die darauf zugreifen soll eingebunden. Ich kann auch ein Streamobjekt übergeben, allerdings bekomme ich bei großen Files das gleiche Problem. Ich schau mir jetzt mal an wie das mit MTOM funktionieren soll.

Eine kleine Sache habe ich aber noch, bei der ich nicht sicher bin ob das so funktionieren kann. Ich rufe in der Funktion des WCF Services eine Funktion auf, die das XML Dokument das geschickt wurde deserialisieren soll. Diese sieht wie folgt aus:


public static myObj Deserialize(Stream s) {
	try {
		XmlSerializer xmlSer = new XmlSerializer(typeof(myObj));
		return (myObj)xmlSer.Deserialize(s);
	} catch {
		return new myObj();
	}
}

Kann das so überhaupt funktionieren wenn der Stream noch am übertragen ist? Müsste ich nicht erst warten bis der ganze Stream komplett beim Service ist?

17.12.2008 - 15:21 Uhr

Hallo zusammen,

ich habe einen Web Service entwickelt, der bestimmte XML Dokumente parst, schaut ob diese einem bestimmten Schema entsprechen und die Werte der einzelnen Elemente validiert. Für diesen Web Service existiert eine Seite, in der der Benutzer seine Daten (in Form von *.xml Dateien) hochladen und validieren lassen kann. Das funktioniert soweit auch wunderbar, solange die Dateien recht klein sind. Ich habe hier nun allerdings mal eine Beispielliste liegen, die knapp über 6MB groß ist. Sobald ich die ausgewählt und auf Upload geklickt habe, funktioniert die Seite nicht mehr (Verbindung unterbrochen Meldung). Jetzt glaube ich, dass ich das ganze irgendwie anders verschicken muss. Im moment verschicke ich ein byte[] und zwar wie folgt:


//Methode auf der Seite:
private void UploadFile(string filename) {
   try {
      ValidationService val = new ValidationService();
      if (fu_upload.FileBytes.Length < 20971520) { //20971520 Byte = 20 MByte
         byte[] data = fu_upload.FileBytes;
         _prot = val.UploadAndValidateFile(data, ""); //WebService aufruf
      } 
    ...
}

Auf Seiten des Webserivces wird ein byte[] mit den Daten erwartet. Dort werden diese geladen und validiert. Wie gesagt, für kleine Dateien funktioniert das alles super.

Jetzt frage ich mich ob ich hier den falschen Ansatz gewählt habe oder vielleicht die Methode asyncron aufrufen muss. Auch wüsste ich gerne wie man den Fortschritt des Uploads zum Web Service (weil 6MB sind ja schon groß und können dauern) anzeigen lassen kann, so dass der Benutzer weiss wie lange er noch warten muss.

Vielen Dank für die Hilfe.

Grüße Marco

17.12.2008 - 15:06 Uhr

Hallo zusammen,

ich nehme an das hier möchte Peter sehen:


<form id="frm_analysis" runat="server" method="post" action="download.aspx">
...
</form>

17.12.2008 - 11:31 Uhr

Ist das Formular mit method="post" bezeichnet?

Genau das wars 😃 Als Fehlermeldung kam dieses Object reference... Wieso benötigt das Formular denn sowas, kanns mir jemand erklären, damit ich es verstehe? Die Textbox hat nur die ID vergeben. Name gibts als Eigenschaft garnicht, also denke ich, dass ASP.NET das macht, wenn die Textbox generiert wird. Jedenfalls funktioniert es nun 😃

Vielen Dank

Marco

17.12.2008 - 08:45 Uhr

Hallo Peter,

der Debugger sagt bei Request.Form das dort nix vorhanden ist ( steht {}). Die IDs sind alle gesetzt, habs auch nochmal überprüft. Das wundert mich irgendwie, was könnte ich denn vergessen haben? Funktionieren tut das auf jeden Fall, denn wenn ich von Hand irgendeinen String reinschreibe kann ich den auch Speichern, nur will ich ja den Inhalt vom Steuerelement.

Grüße Marco

16.12.2008 - 18:07 Uhr

Hallo zusammen,

ich verwende einen HttpHandler für den Download einer Datei, die aus einem MemoryStream erst erstellt wird. Auf einer Seite befindet sich eine TextBox und ein Button. Der Inhalt der Textbox wird durch unterschiedliche Dinge die vorher passieren gefüllt. Ich möchte nun dem Benutzer der Seite die Möglichkeit geben das was in der Textbox steht als Datei herunterzuladen.

Wenn ich nun in der ProcessRequest Methode auf den HttpContext zugreife, dann finde ich meine Textbox leider nich mehr, weshalb er hier auf die Nase fliegt 😦
Ich hab irgendwie keine idee mehr warum das so ist und bitte deshalb mal um Hilfe.


//... in der ProcessRequest Methode
byte[] data;
using (MemoryStream ms = new MemoryStream()) {
     using (StreamWriter sw = new StreamWriter(ms)) {
          sw.Write(context.Request.Form["tb_protocol"].ToString()); //hier fliegt er
     }
     data = ms.ToArray();
     ms.Flush();
}

Für Hilfe und/oder Hinweise wäre ich sehr dankbar.

Vielen Dank und Grüße

Marco

16.12.2008 - 08:33 Uhr

Hallo zusammen,

funktioniert wunderbest 😃

Vielen Dank!

Grüße Marco

€: Scheinbar können double und int werte nich null werden, sehe ich das richtig? Er kennt zwar DefaultValue, aber wenn ich [DefaultValue(null)] setze, dann passiert bei der Serialisierung nix weiter. Die Elemente sind dennoch vorhanden.

😕

15.12.2008 - 18:06 Uhr

Hallo zusammen,

ich hoffe ich habe das richtige Forum getroffen, wenn nicht dann verschiebt es bitte.

Ich habe einige Zeit gesucht aber leider nix in der Richtung gefunden. Ich bin auf der Suche nach etwas womit ich alle Properties eines Objektes durchlaufen kann.

Ich möchte diese meiner Datenobjekte durchlaufen um Abhängig vom Datentyp entsprechende Validierungen durchzuführen.

Pseudocode:


foreach(property in myObject) {
     switch(type) {

case "System.String": Validate1;
...
     }
}

Gibt es sowas in C#??

Vielen Dank und Grüße

Marco

15.12.2008 - 17:51 Uhr

Hallo zusammen,

bei der Serialisierung meiner Objekte bin ich auf noch paar Fragen gestoßen. Wenn man Objekte serialisiert, dann kann es ja sein, dass bestimmte Variablen einfach keinen Wert (NULL) haben. Bei strings ist es dann so, dass die Elemente bei der Serialisierung garnicht erst auftreten. Genau das hätte ich gerne auch für meine anderen Werte (DateTime, int und double). Diese sind wenn ich ein Objekt erstelle bereits vordefiniert worden (01.01.0001, 0, 0.0) und werden deswegen werden diese auch in das XML-Dokument gespeichert. Da das ziemlich viele Werte sind, die unter Umständen garnicht benötigt werden (weil es nur optionale Zusatzangaben sind), wird die XML-Datei dadurch unnötig groß. Ich möchte diese Elemente gerne eleminieren, nur frage ich mich jetzt wie? Kann man das über bestimmte Attribute regeln?

Vielen Dank und Grüße

Marco

15.12.2008 - 10:59 Uhr

Hallo zusammen,

nochmal für die Leute, die vielleicht mal das gleiche Problem haben: Es ist aus Sicherheitsgründen nicht möglich auf den Pfad der Datei zuzugreifen. Dinge wie Streamen, etc. kann man ganz einfach über die FileUpload Eigenschaften FileName, FileContent und FileBytes regeln.

Viele Grüße

Marco

12.12.2008 - 16:13 Uhr

Hallo zusammen,

ich verwende eine GridView, das Informationen in einem DataSet enthält, welches widerum aus einer XML Datei geladen wird. Nun möchte in unter bestimmten Umständen in jeder Zeile des GridViews bestimmte Zellen farblich hervorgeben (nur Zellen! Nicht Zeilen oder Spalten) und die Hintergrundfarbe dieser ändern. Ist sowas möglich und wenn ja, wo setze ich da an? Wie macht man sowas?

Vielen Dank und Grüße

Marco

11.12.2008 - 19:18 Uhr

Hallo,

nee das mit dem Propertie bezog sich nur auf den Kommentar dahinter von dir aber habe das Prinzip dahinter schon verstanden :p Hatte nur gedacht das deswegen Properties nicht so gut dafür geeignet seien, ein Denkfehler meinerseits.

Das mit Choice etc. hab ich schon gefunden, allerdings dachte ich, dass das mehr für Auswahl ist und weniger für die Reihenfolge. So könnte man z.B. eine XML-Datei benutzen um eine DropDown zu füllen oder so (ich weiss, dummes Beispiel). Ich schaus mir auf jeden Fall morgen auch nochmal an.

Wenn du die Zeit und Lust hast kannst du auch gerne ein kleines Beispiel posten, für den Fall, dass ich keinen Erfolg habe und vielleicht auch für andere User.

Vielen Dank und Grüße

Marco

11.12.2008 - 16:37 Uhr

Hallo,

ok, das mit Date klingt verständlich, damit befasse ich mich dann jetzt. Wieso sollte ein Propertie dazu eigentlich nicht gut sein? Was nimmt man stattdessen?

Die min/maxOccurs habe ich ja auch schon dazu verwendet. Das einzige Problem ist wie gesagt noch, dass die Elemente in beliebiger Reihenfolge vorkommen dürfen und genau das bekomme ich nicht abgebildet, da ich nicht weiss wie. Aus meinen XSD Dokus konnte ich nix darüber rausziehen wie ich das machen kann.


//So darf mans machen und nur so funktionierts atm auch
<Knoten>
    <Element1>lala</Element1>
    <Element2>lala</Element2>
    <Element3>lala</Element3>
</Knoten>

//So soll es aber beispielsweise auch erlaubt sein
<Knoten>
    <Element3>lala</Element3>
    <Element1>lala</Element1>
    <Element2>lala</Element2>
</Knoten>

11.12.2008 - 15:30 Uhr

Hallo,

aber maxOccurs ist doch auch dazu da um festzulegen, dass nur in einer bestimmten Anzahl vorkommen. Die Einschränkung bei mir ist: In dem Knoten müssen bestimmte Elemente vorkommen (MUSS-Felder), andere widerum können vorkommen. Jedes Element darf in diesem Knoten nur einmal vorkommen. Bekommt man sowas denn mit xsd abgebildet? Das mixed für Text oder XML-Tags gilt wusst ich nich, da hab ich meine Quelle wohl falsch verstanden, danke für den Hinweis an der Stelle.

In der Liste sind ja Objekte drin. Die Struktur die ich erwarte ist ansich die Folgende:


<MBListe>
    <MBObjekt>
        <Eigenschaft 1>lalala</Eigenschaft 1>
        <Eigenschaft 2>lalala</Eigenschaft 2>
        ...
    </MBObjekt>
    <MBObjekt>
        <Eigenschaft 1>lalala</Eigenschaft 1>
        <Eigenschaft 2>lalala</Eigenschaft 2>
        ...
    </MBObjekt>
</MBListe>

So wie deine Lösung ausschaut komme ich aber glaube ich nicht dorthin, oder? Ich versuchs aber einfach mal so umzubauen wie von dir vorgeschlagen.

Vielen Dank und Grüße

Marco

€: Oh man... ich bin so dumm -.- Ich hab nun die Struktur so, wie ich sie brauche. So ein Billigfehler, peinlich den zu posten :p

Bleibt nur noch die Sache mit XSD offen. Was mich auch wundert ist, dass er direkt nach einem Fehler, wenn ein Element so wie es (noch) in der XSD steht nicht an der erwarteten Stelle ist. Das möchte ich ja eben wegbekommen, also das die Elemente gemischt sein dürfen, aber Maximal einmal vorhanden sind innerhalb eines Knotens. Dann würde ich schon um einiges weiter kommen 😃

€3: Noch eine Sache die mir gerade aufgefallen ist. Ich verwende DateTime bei 2 Eigenschaften.
Er macht mir daraus: 2009-01-01T00:00:00
Er soll aber daraus das hier erzeugen: 2009-01-01
Gibts da irgendwas womit ich ihm sagen kann wie er das DateTime Format serialisieren soll?

11.12.2008 - 14:30 Uhr

Hallo,

vielen Dank schonmal. Also ich möchte schon die Daten lesen, validieren und ggf. verändern. Ich habe vor eine Datei einzulesen um zu schauen, ob diese in einem bestimmten Format sind. Dabei sollen SÄMTLICHE Fehler erkannt werden. Möglich sind dabei unter anderem:

  • Feld falsch benannt
  • Variable in ungültigem Bereich (z.b. nur zwischen 1-1000, nur 8 Zeichen, etc.)
  • MUSS-Feld nicht vorhanden
  • etc.

Ich möchte dem Benutzer dann am ende eine Tabelle mit dem XML-Dokument anzeigen und dabei die Fehler entsprehend hervorheben (die Spalten) und ihm somit die Möglichkeit geben diese zu korrigieren. Mein erster Anlauf war mit XSD, scheiterte aber daran, dass die Elemente in beliebiger Reihenfolge übergeben werden können. Dafür gibt es für XSD das Attribute mixed="true", welches von der XmlSchemaSet-Klasse nicht untersützt wird (Wirft eine Exception, die sagt, dass mixed nicht unterstützt wird). Außerdem ist das er bei mir sobald Beispielsweise ein Element falsch benannt war einfach ausgestiegen und hat die restlichen Elemente eines Objektes nicht mehr berücksichtigt, was aber nicht der Sinn dieser Sache ist.

Zum Code für Problem 1:


public class MBListe {
	private List<MBObjekt> list;

        public List<MBObjekt> MBObjekt {
		get { return list; }
		set { list = value; }
	}

	public MBListe() {
		list = new List<MBObjekt>();
	}
}

public class MBObjekt {
	//Variablen
	...

	//Properties
	...

	public MBObjekt() {}
}

So schaut das ganze aus. Ich hatte mal zum Test über die Klasse bzw. auch mal die Liste XmlAttribute gesetzt, allerdings ohne Erfolg.

Vielen Dank und Grüße

Marco

11.12.2008 - 13:48 Uhr

Hallo zusammen,

in meinem aktuellen Projekt muss ich XML Dokumente einlesen und dessen Daten validieren. Ich habe mir gedacht, dass es vielleicht einfacher ist, wenn ich mir zuvor eine Datenobjekt generiere und die eingelesenen Daten dann einfach in ein Objekt lade, entsprechend validiere, Daten verändere und später einfach wieder speicher.

Die Datei selber hat folgende Struktur:

Ebene 1 <- Hauptknoten
|_ Ebene 2 <- Knoten für das Objekt
|_ Ebene 3 <- Informationselemente
|_ Ebene 3
...
|_ Ebene 2
|_ Ebene 3
|_ Ebene 3
...

Da ich das noch nicht verwendet habe kommen da einige Fragen auf. Die Serialisierung selbst klappt so bisher fast tadellos. Ich habe Allerdings für Ebene 1 und Ebene 2 2 unterschiedliche Klassen erstellt. Die erste Klasse enthält also nur eine List<T> mit Ebene 2 Objekten und dieses serialisiere ich auch. Nun erstellt er mir auf Grund dieser Tatsache folgende XML-Struktur:

Ebene 1 <- Hauptknoten
|_ Ebene 2a <- Knoten (vermutlich von der Liste)
|_ Ebene 2b <- Knoten (Klasse hat den gleichen Namen, wie die Liste)
|_ Ebene 3 <- Hier stehen dann die Infos

Ich möchte nun gerne, dass eine der beiden Ebenen 2 verschwindet, sie haben ja eh den gleichen Namen und sie ist unnötig. Leider weiss ich gerade nicht wo ich da am Besten ansetzen soll, da das über die XmlAttribute nicht zu funktionieren scheint.

Meine 2te Frage: Wenn ich so ein Objekt lade, dann kann es sein das bestimmte Elemente/Informationen garnicht erst in dem XML-Dokument vorhanden sind. Kann ich solch ein Objekt, in dem diese Elemente einfach fehlen trotzdem laden? Wenn das geht und die Elemente einfach leer sind (also NULL) wäre das in Ordnung. Funktioniert das oder müssen die Objekte immer exakt so identisch sein?

Vielen Dank und Grüße

Marco

11.12.2008 - 13:36 Uhr

Hallo,

gut, das ist schade, aber dann wahrscheinlich auch nicht zu ändern. Wie siehts mit Frage 1 aus? Wie komme ich an den kompletten Dateipfad?

Grüße Marco

11.12.2008 - 11:08 Uhr

Hallo,

also beim OpenFileDialog z.B. gibt es ja eine Eigenschaft, in der man festlegen kann, welche Dateien mit welcher Endung angezeigt werden sollen. Da kann man dann auch so eine Liste erstellen und statt . oder Alle Datein kann man dann nur noch *.xml auswählen. An sowas hatte ich gedacht.

Grüße Marco

10.12.2008 - 15:19 Uhr

Hallo zusammen,

ich möchte gerne das FileUpload Control benutzen, um Dateien mit Hilfe eines WebServices hochzuladen. Dabei stoße ich auf 2 Probleme:

  • Wie komme ich an den kompletten Pfad der Datei heran?

Ich verwende zum Upload einen FileStream und dieser braucht ja den kompletten Pfad zur Datei hin. Mit dem FileUpload Steuerelement komme ich aber nur an den Namen heran und das reicht nicht aus. Ich hab es mal Hardcodiert getestet (Also den Pfad hardcodiert + den Dateiname von FileUpload) und dann funktioniert das ganze auch.

  • Wie kann ich bei der Dateiauswahl Dateitypen eingrenzen?

Ich möchte, dass der Benutzer nur bestimmte Dateitypen hochladen darf (soll an der Endung zu erkennen sein, z.B. *.zip, *.xml oder sowas). Gibt es eine Möglichkeit diese Einschränkungen einzustellen? Bisher habe ich nur gesehen, dass man das hinterher machen kann, indem man nachdem man z.B. auf Upload klickt das ganze durch einen Validator jagt. Das finde ich allerdings nich so schön.

Vielen Dank für die Hilfe!

Marco

10.12.2008 - 09:46 Uhr

Hallo zusammen,

ich wollte mit soeinem Programm eigentlich nur prüfen, ob die von mir geschriebene XSD-Datei so geschrieben ist, dass sie die Inputs und Elemente so validiert wie es vorgesehen ist. Da ich mich bisher nie richtig mit XSD befasst habe könnte es ja sein, dass ich an irgendeiner Stelle einen fehler gemacht habe.

Mittlerweile hab ich mir was eigenes Gebaut (kleine Consolenanwendung), die zwar nich so schön ist, aber das tut, was ich brauche. Ich hatte nur gedacht, dass vielleicht jemand so ein Tool kennt mit dem man sowas prüfen kann.

Danke trotzdem 😉

08.12.2008 - 19:37 Uhr

Hallo zusammen,

ich möchte mit Hilfe eines Web Services einem Aufrufer ermöglichen eine Datei hochzuladen, um diese dann mit entsprechenden Methoden zu validieren. Die Frage die sich mir nun stellt ist wie man das am besten realisiert. Wenn man das über den FileStream macht um die Datei in einem Verzeichnis abzulegen hat man das Problem, dass man mit der Zeit mit den ganzen Dateien den Server zumüllt, deswegen habe ich mir gedacht ich behalte das ganze solange der Benutzer diese Datei braucht um Speicher (MemoryStream). Diese Datei (die dann im Speicher liegt) soll unter Umständen auch später bearbeitet und dem Benutzer wieder als Download angeboten werden. Solange in der Applikation die den Service aufruft eine Instanz des WebServices vorliegt, habe ich ja Zugriff auf dieses Objekt, welches für jeden Benutzer anders ist. Könnte ich dabei aber unter Umständen auf Probleme stoßen? (Vielleicht Speicherprobleme?)

Vielen Dank und Grüße

Marco

08.12.2008 - 19:31 Uhr

Hallo zusammen,

ich suche ein Tool/Programm, mit dem ich meine geschriebenen XSD-Schemas prüfen kann. Ich stelle mir vor, das ich z.b. eine Tabelle (DataGrid) angezeigt bekomme, in denen ich nur genau das schreiben kann, was ich auch in dem XSD definiert habe. Wenn ich z.b. ein xsd:string hab mit maximallänge von 10, dann kann ich in die Zelle nur 10 Zeichen setzen.

Ich denke es ist klar was ich meine 😉

Kennt jemand so ein Tool/Programm oder andere Methoden solche xsds zu testen? Sollte möglichst kostenlos sein.

Vielen Dank und Grüße

Marco

22.09.2008 - 14:41 Uhr

Ah, ich hab nach Kontextmenü gesucht, kein wunder, dass ich den Thread nicht gefunden habe. Vielen Dank, werde ich mir mal anschauen.

€: Da steht leider nur das, was ich bisher wusste. Ich brauche jedoch ein Menü mit Unterpunkten zu einem bestimmten Dateityp, z.b. zu BMP

test.bmp -> Datei rechtsklick ->
Convert
--to JPG
--to TGA

Grüße Marco

22.09.2008 - 13:53 Uhr

Hallo zusammen,

ich habe ein Tool geschrieben, welches mir kleine, aber wiederkehrende Aufgaben abnehmen soll. Der Aufruf des Tools erfolgt über unterschiedliche Startparameter. Ich möchte das ganze nun gerne in das Windowseingene Kontextmenü integrieren. Ich habe bereits geschaut wie das funktionieren soll, allerdings habe ich es bisher nur für "alle Dateien" zum Laufen gebracht. Auch ist es mir anscheinend nicht möglich irgendwelche Untermenüs zu erstellen. Gibt es dazu evtl. in C# eine Möglichkeit? Ich denke jeder Kennt das Programm 7-Zip, da gibts im Kontextmenü ja auch mehrere Optionen etwas zu machen. Sowas in der Art stelle ich mir vor jedoch sollen die Einträge in diesem Menü wiederum abhängig vom Dateityp/Dateiendung.

Vielen Dank für die Hilfe!

Grüße Marco

18.09.2008 - 11:41 Uhr

Für die Minderjährigen könnte es ja so eine Art Kontrolle durch die Eltern geben. Diese können ja dann z.B. festlegen, dass das Kind jeden Tag nur 2 Stunden spielen darf.

18.09.2008 - 11:23 Uhr

Worauf bewirbst du dich genau?

Eine Stelle als .NET Entwickler mit der Sprache C#. (so war es ausgeschrieben)

"Wie würden Sie in einer Mehrschichtarchitektur das Exceptionhandling organisieren?" oder "Warum würden Sie einem unserer Kunden raten, .NET und nicht Java zu nutzen?"

Das sind so zwei Fragen, die schwierig zu beantworten sind.

zu 1.
Mit Exceptionhandling hatte ich noch nicht soviel zutun. Was ich bisher gemacht habe ist eben an bestimmten Stellen wo Fehler auftreten können einen try-catch block drumgesetzt und dann die Exception abzufangen und entsprechend darauf zu reagieren. In der Regel mache ich dies bei externen Ressourcen, bei denen nicht gewährleistet werden kann, dass sie jederzeit verfügbar sind wie z.b. beim Zugriff auf eine Datenbank oder einen Web Service. Ansonsten versuche ich wenn es irgendwie geht try-catch zu vermeiden, weil ich mal gelesen habe, dass das kein guter Programmierstil ist alles in try-catchblöcke zu packen, da es unübersichtlich wird, viel Zeit kostet Exceptions abzufangen, etc. Eine vorherige Prüfung mit if z.b. ist da viel schneller.

Vielleicht könnt ihr mir etwas darüber erzählen wie du/ihr das siehst

zu 2.

Ebenfalls eine schwierige Frage, jedoch nur, weil ich in Java bisher fast nix gemacht habe. Die Fähigkeiten von .NET kann ich in etwa einschätzen. Bei .NET hat man beispielsweise den Vorteil, dass man sich die Entwicklungssprache aussuchen kann, da sowieso alles zuvor in eine Zwischensprache (CLI) übersetzt wird, bevor darauf Maschinencode übersetzt wird. Außerdem wird .NET Code ja direkt auf dem Prozessor ausgeführt. Java hingegen benötigt die JVM und ich könnte mir vorstellen, dass diese etwas langsamer ist. Weiterhin könnte ich mir ebenso vorstellen das aufgrund dieser Tatsache es mit Java nicht möglich ist auf Betriebssystemebene zu agieren oder bestimmte Hardware zuzugreifen, .NET hingegen bietet dafür ja viele Klassen an. Die Fähigkeiten von Java kann ich aufgrund mangelnder Erfahrung schlecht einschätzen. Mit beiden kann man sowohl Webanwendungen als auch (Windows)-Applikationen erzeugen. Beide Technologien sind soweit plattformunabhängig (.NET Mono z.B., Java wird nur über VM ausgeführt).

Korrigiert mich bitte wenn ich mich irre, ergänzt auch gerne meine Aussage um weitere Äußerungen, ich lerne gern dazu 😉

@MrSparkle: interessant und gut zu wissen, dass es sowas auch gibt 🙂 Sowas sollte mir keine Probleme bereiten.

@herbivore: Ich denke, dass Firmen sowas auch ungern herausgeben. Zu 100% Vorbereiten kann man das auch nicht, es dient mehr dazu um einen Eindruck davon zu bekommen was mich erwarten könnte und durch den Thread hier versuche ich mir selber noch ein bisschen Wissen anzueignen durch Erfahrungsaustausch mit anderen. Das verschafft mir auch ein wenig Sicherheit und ist für Andere die mal in der gleichen Situation sind ggf. auch eine Hilfe.

18.09.2008 - 09:54 Uhr

Hallo zusammen,

der nächste Schritt ist getan und es geht weiter nach vorne an die Front. Das Thema ist weiterhin Bewerbungen schreiben und bewerben. Ich habe nun etwas gelesen, dass mich etwas nachdenklich macht. Viele Firmen möchten ja bevor man jemanden einstellt nicht nur etwas über die Person, sondern auch etwas über dessen Wissensstand und Erfahrung herausfinden. Einige Firmen machen deshalb sogenannte Einstellungstests in denen (so vermute ich) bestimmtes Wissen zur Stelle abgefragt wird. Ich habe mich zwar als Entwickler beworben, kann mir jedoch nicht so ganz vorstellen was mich dabei so erwarten könnte, da ich bisher so einen Test noch nicht gemacht habe. Dennoch möchte ich mich bestmöglichst auf so einen Test vorbereiten. Da ich Informationstechnik studiert habe, habe ich viele Dinge zumindest mal gehört und einiges davon auch vertieft.

Frage an euch: Was wird da im allgemeinen so abgefragt als Entwickler? Bekommt man da beispielsweise Sourcecode und soll Fehler finden? Oder vielleicht solche grundlegenden Fragen wie "Was ist Serialisierung?" oder wie habe ich mir das vorzustellen? Was wurde euch denn so gefragt (und was ist die Antwort auf diese Frage)?

Vielen Dank und Grüße Marco

18.09.2008 - 09:48 Uhr

Abgesehen davon dass studieren nicht grade Zuckerschlecken ist g

Kommt immer auf die herangehensweise an und wie einem bestimmte Dinge liegen, aber im Großen und Ganzen ist es nicht so einfach, wie man es sich anfangs vielleicht vorstellt.

12.09.2008 - 14:33 Uhr

Hallo zusammen,

in einem Webpart soll an einer bestimmten Stelle eine Liste mit Benutzern aus dem AD erstellt und diese in eine liste geschrieben werden. Wenn ich das ganze Debugge und mit meinem Benutzerkonto ausführe, dann funktioniert das ohne Probleme. Wenn allerdings ein anderer Benutzer das Webpart aufruft und die Methode verwendet erhalte ich eine Exception:


[COMException (0x80072020): An operations error occurred.]
   System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) +451
   System.DirectoryServices.DirectoryEntry.Bind() +36
   System.DirectoryServices.DirectoryEntry.get_AdsObject() +31
   System.DirectoryServices.DirectorySearcher.FindAll(Boolean findMoreThanOne) +73
...

Der Code dazu:


public static List<ListItem> EnumADGroupMembers(string ldapPath) {
List<ListItem> memberlist = new List<ListItem>();
			try {
				DirectoryEntry de = new DirectoryEntry(ldapPath);

				string currentUser = GetCurrentUserLoginName();
				DirectorySearcher src = new DirectorySearcher("(objectClass=*)", new string[] { "sAMAccountName", "displayName" });
				src.SearchRoot = de;
				src.SearchScope = SearchScope.OneLevel;
				foreach (SearchResult res in src.FindAll()) {
					if (!res.Properties["sAMAccountName"][0].Equals(currentUser)) {
						memberlist.Add(new ListItem("(AD) " + res.Properties["displayName"][0].ToString(), res.Properties["sAMAccountName"][0].ToString()));
					}
				}
			} catch { }
			return memberlist;
		}

Woran könnte das liegen?

Vielen Dank und Grüße Marco

12.09.2008 - 11:43 Uhr

Hallo Pria,

ich muss gestehen ich habe die Story bisher aus Zeitgründen noch nicht gelesen, aber am Wochenende werd ich mir das wohl mal näher anschauen. Klingt auf jeden Fall schonmal interessant, vor allem der Aspekt das sich das ganze über die Community weiterentwickeln soll und ihr versucht das ganze möglichst kostenlos zu betreiben (natürlich dann mit Werbung) macht das ganze sicherlich auch für die größere Masse nicht uninteressant, denn nicht jeder möchte für ein Spiel monatlich Gebühren zahlen.

Grüße Marco

12.09.2008 - 10:28 Uhr

Hallo Pria,

um was für eine Art von Rollenspiel handelt es sich? Also in welchem Stil ist es so gefertigt oder mit welchem bereits exisitierendem Rollenspiel ist es etwa vergleichbar? Ist es eher ein Hack 'n Slay a la Diablo oder mehr sowas wie WoW? Oder vielleicht Rundenbasiert wie in Lufia/Final Fantasy oder möglicherweise ein ganz neues Konzept? Würde mich interessieren.

Grüße Marco

12.09.2008 - 09:19 Uhr

Hallo Sebi,

wir haben hier in der Firma einen Mailserver stehen. Als Absender wird die Adresse des Benutzers genommen, der den Versand ausgelöst hat. Zusammengebaut wird sie wie folgt:


MailMessage mail = new MailMessage(srcMailAddress, dstMailAddress);
mail.IsBodyHtml = true;
mail.Subject = "You have been invited for a survey!";
mail.Body = "<div>Hello " + dstMailAddress + ", <br><br> You have been... [langer Text]";
mail.Body += "<br><br> Best regards, <br><br>" + creater + "</div>";
mail.Priority = MailPriority.Normal;

Grüße Marco

12.09.2008 - 08:26 Uhr

Hallo zusammen,

in meinem aktuellen Projekt sollen Benutzer, die eingeladen wurden, durch eine e-Mail informiert werden. Die Mail selber besteht dabei aus reinen HTML Tags in denen ein Link steht, bzw. eine Zweite e-Mail mit einem iCal Anhang. Beide e-Mails landen jedoch sowohl in der Firma als auch bei meinem GMX-Account im Spamfolder. Ich habe schon einige Sachen versucht wie den Text ändern, div-Container um die e-Mail etc. aber irgendwie bekomme ich sie da nicht raus und ich frage mich warum das so ist.

Weiss jemand Rat?

Vielen Dank und Grüße Marco

11.09.2008 - 12:51 Uhr

Naja sowas musste sich ja irgendwer ausdenken xD

Gibt es denn auch irgendwo eine richtige Cam oder n Webcast der nicht überlastet ist?

€: Realistischer wäre es gewesen, wenn das SWF über 2 minuten lang wäre und vorher ganz normaler Alltag ist, das da Leute rumrennen sich unterhalten oder so. Sonst ist es zu absehbar, dass es nur n Fake ist ^^

11.09.2008 - 11:58 Uhr

Hallo zusammen,

ich hab mal durch den C# Guide geblättert und bin dabei auf die Toolssektion aufmerksam geworden. Gefunden habe ich dort FxCop der interesannt schien, weshalb ich den mal installiert und durch meine Assemblys gejagt habe. Wie nicht anders zu erwarten meckerte er überall an meinem Code rum, hauptsächlich anscheinend wegen den Namen, die ich vergeben habe aber auch teilweise wegen Dingen, die ich bisher nicht gehört habe.


Mark 'xy.dll' with CLSCompliant(true) because it exposes externally visible types.

oder


Static holder types should not have constructors.

Das merkt er an bei Klassen, in denen nur statische Methoden vorhanden sind. Was möchte er da von mir?

Nun frage ich mich: Haltet ihr euch an die besagten Richlinien? Wenn ich z.B. eine Methode habe, die eine ID von irgendwas erwartet, dann schreibe ich in der Regel auch ein Kürzel davor was für eine ID es denn sein soll, z.B. usrID oder sowas. Er schlägt mir vor dies in 'Id' umzubenennen.

Grüße Marco

11.09.2008 - 09:37 Uhr

@schaedld,

Die Weltherschaft von Pinky und Brain

😁 😁 😁

"Und was machen wir heute Brain?"
"Was wir jede Nacht tun. Wir versuchen die Weltherrschaft an uns zu reißen!"

10.09.2008 - 15:24 Uhr

Ach schade... wäre doch was, wenn man dadurch übernatürliche Kräfte bekommen würde 😄

Wo muss ich unterschreiben? 😁

10.09.2008 - 15:06 Uhr

Tolle Bilder vom LHC. Stargate ist ja nix dagegen !

Wann ist nun das Experiment wo das schwarze Loch erzeugt wird ?

In einem Film ist ja die ganze Erde in dem schwarzen Loch verschwunden, was Wissenschaftler erzeugt haben.

Na mal sehen.

Grüße Bernd

Hallo Bernd,

wie hieß der Film?

Grüße Marco

04.09.2008 - 10:36 Uhr

Quick BASIC für DOS 😜

03.09.2008 - 15:48 Uhr

Immer ~40h mal mehr mal weniger, aber immer so, dass es aufkommt.

03.09.2008 - 15:44 Uhr

Rauchen: nein
Trinken: nein
Ernährung: Mittlerweile auch ab und zu mal gemüse, sonst Fertigkrams a la "Fritöse auf, Fritöse zu". Richtig kochen tue ich nur, wenn ich Gäste habe, irgendwie machts mir sonst keinen Spaß.
Sport: Wenn eSport und Denksport dazu zählt -> Ja ansonsten seit 3 Jahren sehr sehr selten.

01.09.2008 - 17:27 Uhr

Hallo Peter,

ich probiers kurz aus.

Grüße Marco

€: Funktioniert ebenfalls. Vielen Dank!

01.09.2008 - 17:16 Uhr

Hallo Peter,

ich habs so ähnlich wie du. Habe im Webpart eine globale Variable, die mir den Sessionzugriff ermöglicht. Dran komme ist dann wie folgt:


HttpSessionState _session;

//wenn ichs benötige
_session = HttpContext.Current.Session;

ist auch ok oder?

Grüße Marco

01.09.2008 - 16:11 Uhr

Hallo Peter,

also ich habe zwar herausgefunden wie man den SessionState für SharePoint aktiviert, aber nicht wie man das in einem Webpart verwenden kann. Bei Websites ist es mir klar über die Session["xyz"] und entsprechende Konvertierungen kann darauf zugegriffen werden. Wenn ichs bei Webparts einsetzen will scheint er das Objekt garnicht zu kennen.

Grüße Marco