Laden...
Avatar #avatar-2965.gif
Michbeck1983 myCSharp.de - Member
Software-Entwickler (Dipl.-Inf. (FH)) Augsburg Dabei seit 20.08.2008 239 Beiträge
Benutzerbeschreibung
Was interessiert mich mein Geschwätz von gestern? (Konrad Adenauer)

Forenbeiträge von Michbeck1983 Ingesamt 239 Beiträge

25.10.2009 - 10:49 Uhr

Hallo Taucher,

es hätte wenig mehr Code gegeben, da es sich im Wesentlichen um einen Konfigurationsfehler in der ObjectDataSource gehandelt hat. Wenn ich mir im Nachhinein die Fehlermeldung durchlese, wirds mir auch klar - verstehe nicht, warum ich das nicht gleich gesehen habe.

Der Fehler lag einfach darin, dass der Designer in der DataObjectTypeName-Property der DataSource den Typ System.Guid eingetragen hat, was natürlich Käse ist - hier musste der zugrunde liegende Datentyp (also meine Datenklasse) rein. Danach noch die Delete-Methode ändern, dass sie nicht die ID, sondern den Typ als Parameter akzeptiert, und fertig 😃

Gruß Michbeck1983

24.10.2009 - 09:43 Uhr

Hallo zusammen,

ich habe ein großes Problem mit einer GridView und "angeschlossenem" ObjectDataSource und dem Löschen von Einträgen...

Das ObjectDataSource ist an ein Business-Objekt gebunden, dass folgende Delete-Methode definiert:


public void DeleteArticle(Guid articleGuid) { ... }

Die ObjectDataSource ist nun also an das Business-Objekt gebunden:


<asp:ObjectDataSource ID="ObjectDataSourceArticles" runat="server" 
            DataObjectTypeName="System.Guid" DeleteMethod="DeleteArticle" 
            SelectMethod="GetAllArticles" 
            TypeName="ArticleBo"></asp:ObjectDataSource>

Binde ich nun das GridView an die DataSource, und starte das Löschen, bekomme ich von meiner Business-Methode eine Fehlermeldung, da er eine leere GUID übergibt. Soweit ja auch ok, aber wie schaffe ich es nun das er die GUID des aktuell selektierten Objekts übergibt?

Sobald ich nämlich die DateKeyNames-Eigenschaft des GridView auf den Primärschlüssel ("Id") setze, bekomme ich den Fehler "Eine Eigenschaft namens "Id" für den durch die DataObjectTypeName-Eigenschaft in ObjectDataSource "ObjectDataSourceArticles" angegebenen Typ konnte nicht gefunden werden.". Und ab jetzt beginnt meine Leidensgeschichte, denn egal was ich mache und welche Tipps ich aus der Google-Suche befolge, es klappt einfach nicht.

Für irgendwelche Tipps und Anregungen wäre ich sehr dankbar.

Gruß Michbeck1983

25.09.2009 - 10:52 Uhr

Hallo simethandreas,

ich vermute jetzt mal dass der Typ ThisWorkbook ein von Excel.Workbook abgeleiteter Typ ist. Versuche in diesem Falle doch mal, über ThisWorkbook auf Application zuzugreifen a la


Excel.Range myRange = (Excel.Range)deinWorkbook.ActiveWindow.Selection;

Gruß Michbeck1983

25.09.2009 - 10:27 Uhr

Hallo simethandreas,

dann kann wahrscheinlich nur noch Application NULL sein. Es sollte eigentlich so gehen. Wie greifst du auf deine Excel-Datei zu?

Edit: DaemNice war da schneller

Gruß Michbeck1983

25.09.2009 - 09:56 Uhr

Hallo simethandreas,

verwende doch einfach den Debugger um zu schauen was da genau schiefläuft bzw. welches Objekt wann NULL ist.

Siehe dazu auch [FAQ] NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt

Ohne deinen Code zu kennen kann man nur spekulieren was da NULL ist.

Gruß Michbeck1983

25.09.2009 - 09:41 Uhr

Hallo simethandreas,

die Fehlermeldung sagt doch schon alles eigentlich. Du musst noch eine Konvertierung vornehmen:


Excel.Range temp_range = Application.Selection as Excel.Range;

// oder

Excel.Range temp_range = (Excel.Range)Application.Selection;

Gruß Michbeck1983

25.09.2009 - 09:01 Uhr

Hallo simethandreas,

das sollte mit der Selection-Property der Application-Klasse funktionieren. Diese gibt ein Range-Objekt zurück, die deine aktuelle Selektion darstellt.

Gruß Michbeck1983

15.09.2009 - 13:08 Uhr

Hallo nameless0815,

das kannst du über die Property "Hidden" der ColumnProperties-Klasse erledigen:


int colIndex = 0; // erste Spalte selektieren
ColumnProperties colprops = myWorksheet.GetColumnProperies(0);
colprops.Hidden = true;

Gruß Michbeck1983

05.09.2009 - 11:05 Uhr

offtopic

Hallo michlG,

dein Programm gefällt mir optisch unglaublich gut. Was für eine Bibliothek hast du denn für die Office-Ribbons genutzt?

Gruß Michbeck1983

04.09.2009 - 10:03 Uhr

Hallo MoodyMammoth,

schau dir doch mal das Publisher/Subscriber-Pattern an. Das dürfte das sein was du suchst.

Gruß Michbeck1983

03.09.2009 - 14:58 Uhr

Hallo meffke,

soweit ich weiß gibt es keine richtige, native MDI-Unterstützung in WPF mehr. Vielleicht kannst du aber das, was du willst, mit AvalonDock nachbauen?

Gruß Michbeck1983

11.08.2009 - 07:13 Uhr

Hallo madjoe,

erstmal danke für deine Antwort. Ich war im Urlaub, drum antworte ich erst jetzt.

Das ich den Discriminator nicht brauche, habe ich mittlerweile auch herausgefunden. Ich habe meine Mapping-Datei nach deinem Tipp "umgebaut" und das abstract-Tag hinzugefügt.

Das Hauptproblem besteht damit leider weiterhin: wie schreibe ich in einer Mapping-Datei, dass die betroffene Spalte entweder ein Ticket oder ein Task, also einer der konkreten Implementierungen meiner abstrakten Klasse, sein kann? Klar, wenn ich auf meine abstrakte Klasse verweise, versucht NHibernate diese zu instanziieren, was fehlschlägt.

Gruß Michbeck1983

23.07.2009 - 10:33 Uhr

verwendetes Datenbanksystem: MS Sql Server 2005 + NHibernate 2.0

Hallo zusammen,

ich stehe hier gerade vor einem Mapping-Problem mit NHibernate. Ich habe eine abstrakte Basisklasse "AJob". Davon abgeleitet sind zwei konkrete Klassen "Task" und "Ticket". Alle drei befinden sich in eigenen Tabellen, die Tabellen "Task" und "Ticket" verweisen dabei über eine Fremdschlüsselbeziehung auf die Tabelle "Job".

Die konkreten Klassen "Task" und "Ticket" sind in der Mapping-Datei für die abstrakte Klasse "AJob" (=> Tabelle "Job") als Joines Subclasses realisiert:


<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping namespace="Core.Domain" assembly="Core" xmlns="urn:nhibernate-mapping-2.2">
  <class name="AJob" table="Job" lazy="false">
    <id name="Id" column="Id" type="Guid">
      <generator class="assigned" />
    </id>

    <!-- Normale Properties ... -->

    <joined-subclass name="Ticket" table="Ticket">
      <key column="Job" />
      <!-- Properties der konkreten Klasse -->
    </joined-subclass>

    <joined-subclass name="Task" table="Task">
      <key column="Job" />
      <!-- Properties der konkreten Klasse -->
    </joined-subclass>

  </class>
</hibernate-mapping>

Jetzt habe ich in einer weiteren gemappten Klasse eben eine Spalte, die entweder auf "Task" oder "Ticket" verweist, also einer der konkreten Klassen. Das Problem das ich habe ist, dass ich nicht weiß wie ich das Mapping realisieren soll - wenn ich ein many-to-one-Mapping benutze auf die Klasse AJob, bekomme ich (logischerweise) die Fehlermeldung, dass er die abstrakte Klasse nicht instantiieren kann.

Zwischenzeitlich habe ich etwas über den Diskriminator gelesen, der mein Problem aber nicht löst (so glaube ich das zumindest), da die ID's von "Task" und "Ticket" nicht fest sind und ich deswegen keinen discriminator-value benutzen kann. Oder täusche ich mich da?

Hat irgendjemand eine Idee oder einen Wink, wie ich dieses Problem lösen könnte?

Gruß Michbeck1983

07.07.2009 - 10:49 Uhr

Hallo FZelle,

super danke für den Tip. Da werd ich mal Codeplex durchschauen und bei Bedarf hier posten, welches Tool am geeignetsten schien.

Gruß Michbeck1983

07.07.2009 - 09:08 Uhr

Hallo,

mittlerweile sind wir in unserem Projekt auf NHibernate umgestiegen, wo wir diese Dinge besser steuern können.

Die Frage würde trotzdem noch bestehen bleiben: gibt es eine Möglichkeit, dem EF zu sagen, welche Methoden er automatisch generieren soll und welche nicht. Wenn noch jemand Informationen hierzu hat, nur her damit 😁

Gruß Michbeck1983

01.07.2009 - 11:05 Uhr

verwendetes Datenbanksystem: Entity Framework & SQL Server 2005

Hallo zusammen,

ich möchte das Entity Framework in einem komplexen Datenbankszenario benutzen. Die abgebildeten Tabellen besitzen verschiedene Fremdschlüsselbeziehungen und Abhängigkeiten.
Die Software ist dabei in mehreren Schichten aufgeteilt. Verkürzt dargestellt gibt es einen Data Access Layer, der mit dem EF die Daten aus der DB holt, und einen Business-Layer, der die Geschäftslogik übernimmt.

Mein Anliegen: Die vom EF erzeugten Entitätsklassen besitzen ja schon verschiedene Methoden, etwa einen parameterlosen Konstruktor oder eine CreateXyz-Methode. Problematisch ist, dass mit diesen Methoden die Abhängigkeiten zu anderen Entitäten nicht abgebildet werden können. Folgendes würde also fehlschlagen:


Entity ent = new Entity();
// ...
context.SaveChanges();
// hier würde es krachen, da Entity noch Abhängigkeiten besitzt.

Ich möchte nun also eine Methode schreiben, die eine Instanz zusammen mit den Abhängigkeiten erzeugt. Mit partiellen Klassen soweit kein Problem, aber: gibt es eine Möglichkeit, die Methoden die vom EF erzeugt werden explizit als private zu markieren? Ich möchte beispielsweise verhindern, dass etwa der parameterlose Konstruktor von außerhalb aufgerufen werden kann. Soweit ich das sehe kann ich aber nur die gesamte Klasse als private oder internal markieren, was mir in meinem Projekt aber nicht helfen würde.

Wäre für jeden Denkanstoß oder alternative Herangehensweisen dankbar.

Gruß Michbeck1983

Edit: Ich habe herausgefunden, dass ich den parameterlosen Konstruktor "ausblenden" kann, indem ich in einen separaten privaten parameterlosen Konstruktor definiere. Das ist schonmal sehr gut, jetzt müsste ich noch herausfinden wie ich diese CreateXyz()-Methode ausblenden kann. Nochmal definieren geht ja bekanntlich nicht...

29.06.2009 - 09:27 Uhr

Hallo blutiger_anfänger,

das würdest du dann so durchlaufen:


foreach (KeyValuePair<string, bool> pair in MyDictionary)
{
  if (pair.Value)
    // ...
}

Gruß Michbeck1983

29.06.2009 - 09:03 Uhr

Hallo blutiger_anfänger,

ich denke dafür wäre ein Dictionary<TKey, TValue> geeignet, wobei TKey dein String und TValue der bool'sche Wert sein sollte.

Gruß Michbeck1983

26.06.2009 - 09:16 Uhr

Unabhängig davon was man persönlich vom Menschen Michael Jackson hält (ich erinnere auch an die Missbrauchsvorwürfe), ist er doch einer der größten Musiker unserer Zeit gewesen, und insofern hat er definitiv meinen Respekt.

Gruß Michbeck1983

26.06.2009 - 07:16 Uhr

Hallo dietbeck,

du kannst in deiner Schleife die Controls-Property deines Fensters durchlaufen und dort prüfen, ob es sich um eine PictureBox handelt oder nicht und dieser dann Werte zuweisen.


foreach (Control ctl in this.Controls)
{
  PictureBox pb = ctl as PictureBox;
  // oder
  if (ctl is PictureBox)
  // ... do something
}

Wenn du natürlich unterschiedliche Images zuordnen musst, dann müsstest du bei diesem Ansatz noch irgendwie anhand des Namens prüfen, welches Bild wohin gehört. So richtig gut passt das also nur, wenn du allen PictureBoxes das gleiche Bild zuweisen willst. Ansonsten brauchst du eine Fallunterscheidung.

Gruß Michbeck1983

28.05.2009 - 11:44 Uhr

Hallo cr4x,

das ist jetzt nur eine Vermutung, aber ich denke du musst dein neu erstelltes Objekt auch der aktuellen Exceldatei zuweisen. Eventuell besitzt diese auch eine (statische) Methode zum Hinzufügen von neuen Excel-Sheets.

Also etwa so:


// Pseudocode
MeinArbeitsblatt.Sheets.Add(new Tabelle 1());

Ich könnte mir gut vorstellen, dass allein der Konstruktoraufruf das Excel-Sheet nicht der aktuellen Datei hinzufügt...

Gruß Michbeck1983

28.05.2009 - 11:10 Uhr

Hallo Kuehner,


internal class Blub
{
}

Gruß Michbeck1983

25.05.2009 - 08:00 Uhr

Hallo freako32,

vielleicht hilft dir der Cassini-Miniwebserver weiter: Link

Gruß Michbeck1983

19.05.2009 - 12:58 Uhr

Hallo letterman,

das ist ein neues Feature von VS 2008, die 2005er-Version kann das nicht.

Gruß Michbeck1983

29.04.2009 - 07:06 Uhr

Hallo KiloMike,

Rainbird hat für die gesamte Office-Interop-Geschichte eine gute FAQ geschrieben mit vielen hilfreichen Links zum Thema: [FAQ] Office (Word, Excel, Outlook, ...) in eigenen Anwendungen verwenden.

Ansonsten kannst du auch mal bei den "üblichen Verdächtigen" wie etwa Codeproject schauen, wo es massig Beispiele für den Excel-Zugriff mit C# gibt.

Gruß Michbeck1983

29.04.2009 - 06:17 Uhr

Hallo KiloMike,


// Pseudocode
if (zelle.Wert == "abc")
  // ...
else
  // ...

?( ?( Natürlich geht das. Es mag nicht sehr schön sein, aber wenn die Excel-Datei so strukturiert ist... Oder was möchtest du jetzt genau wissen? Wie der Zugriff auf Zellenwerte funktioniert?

Gruß Michbeck1983

27.04.2009 - 13:47 Uhr

Hallo Ares,

das nachbauen das ich beschrieben habe benötigt nur ein Label. Ansonsten würde ich ein UserControl erstellen mit den nötigen Steuerelementen und gut ist 😁

Gruß Michbeck1983

27.04.2009 - 13:36 Uhr

Hallo Ares,

du kannst diese Komponente auch "nachbauen", indem du ein Label nimmst, den Text löscht, AutoSize auf false, BorderStyle auf Fixed3D und Height auf 2 setzt.
Ist nur nicht sehr schön das dann zu positionieren...

Gruß Michbeck1983

24.04.2009 - 07:29 Uhr

Hallo DJ-Mirscho,


myPictureBox.SizeMode = PictureBoxSizeMode.Stretch

Siehe hierzu die :rtfm: ...

Gruß Michbeck1983

21.04.2009 - 10:25 Uhr

Hallo GIGGS,

und die Klasse selbst im Codebehind? Hast du die eventuell umbenannt? Die müsste auch Window1 heißen, und sich im selben Namespace befinden wie du sie in der XAML-Datei angegeben hast (also test.wpf).

Gruß Michbeck1983

21.04.2009 - 10:01 Uhr

Hallo GIGGS,

hast du die entsprechende Klasse deines Fensters eventuell umbenannt und dies noch nicht im XAML-Code auch getan?

Gruß Michbeck1983

20.04.2009 - 08:35 Uhr

Hallo Linski,

rufe die CreateGraphics()-Methode des entsprechenden Controls auf, auf dem zu zeichnen willst. Dann kannst du das zurückgegebene Graphics-Objekt benutzen, um direkt darauf zu zeichnen.

Gruß Michbeck1983

20.04.2009 - 05:49 Uhr

Hallo Haggy,

folgendes PDF hat mir beim Erstellen der Custom Rules in unserem Projekt sehr geholfen, zumindest für den Einstieg: FxCop

Gruß Michbeck1983

16.04.2009 - 11:36 Uhr

Hallo Bobby1989,

benutze RadioButtons und setze die Appearance auf "Button".

Gruß Michbeck1983

16.04.2009 - 09:58 Uhr

Hallo lukasS,

ListView.AllowColumnReorder sollte das sein was du suchst.

Gruß Michbeck1983

15.04.2009 - 07:22 Uhr

Hallo TheC-sharp,

ich kann mir nicht vorstellen dass das rechtlich in Ordnung ist. Auszug aus den AGBs:

8.3 Der Einsatz von Software zur systematischen oder automatisierten Steuerung und/oder Reproduktion bzw. Auswertung der Leistungen oder einzelner Funktionen (durch z.B. Bots, Makros, Skripte, etc.) ist unzulässig.

Gruß Michbeck1983

14.04.2009 - 19:51 Uhr

Hallo mika92,

nimm doch die Controls-Auflistung deines Forms...

Gruß Michbeck1983

14.04.2009 - 13:58 Uhr

Hallo multitrust,

das ist ein ganz übler Verschreiber von dir:


ArrayList functions = new ArrayList();
functions.Add("test");

Verwende aber lieber die generischen Collections aus System.Collection.Generic. ArrayList ist "veraltet".

Gruß Michbeck1983

14.04.2009 - 13:29 Uhr

Hallo bigeddie,

wieso denn bitte "keine Wirkung"? Die MSDN sagt doch schon ganz genau, dass diese Methoden eben doch ihre Wirkung haben:

Thread.BeginCriticalRegion-Methode: Benachrichtigt einen Host, dass die Ausführung im Begriff ist, zu einem Codebereich überzugehen, in dem die Auswirkungen eines Threadabbruchs oder einer nicht behandelten Ausnahme andere Aufgaben in der Anwendungsdomäne gefährden könnten.

Weiter:

Bei einem Fehler in einem kritischen Bereich kann der Host die gesamte AppDomain entladen. Dabei wird das Risiko vermieden, dass die Ausführung in einem möglicherweise instabilen Zustand fortgesetzt wird. Um den Host zu informieren, dass der Code in einen kritischen Bereich eintritt, rufen BeginCriticalRegion Sie auf. Rufen Sie EndCriticalRegion auf, wenn die Ausführung zu einem nicht kritischen Codebereich zurückkehrt.

Natürlich merkst du jetzt rein vom Programmablauf erstmal nichts, sondern erst wenn ein Fehler in dieser kritischen Region auftritt.

Gruß Michbeck1983

14.04.2009 - 11:33 Uhr

Hallo Tobi35,

du solltest nicht nachschauen ob die Komponente auf einem PDA "läuft". Viel wichtiger ist es, ob die Komponente auch im Compact Framework einsetzbar ist.

Edit: Laut dem Codeproject-Artikel funktioniert Zedgraph nicht auf dem CF. Also solltest du gezielt nach Komponenten suchen, die für das CF erstellt wurden.

Gruß Michbeck1983

09.04.2009 - 11:29 Uhr

Hallo khobi,

es gibt ja keine .Net-Funktion, die automatisch Dateien speichert und dabei Dialogfenster aufruft.

Heißt: du rufst in deinem Button eine Funktion auf, die das Speichern der Datei übernimmt. Das war's im Wesentlichen schon, Dialogfelder müsstest du ja selbst anzeigen lassen.

Gruß Michbeck1983

09.04.2009 - 11:12 Uhr

Hallo,

naja aber bei Windows ploppt ja auch kein Dialog auf "Dieses Programm speichert gerade die Datei xyz.txt" oder? 😁 Insofern ist das Abspeichern von Daten selbst erstmal nichts, was der Benutzer mitkriegt.

Es sei denn, die abzuspeichernden Daten sind so groß, dass es spürbare Verzögerungen gibt. Dann muss man halt die Speichern-Methode in einen extra Thread auslagern.

Ansonsten hat trib schon sehr gute Empfehlungen gegeben.

Gruß Michbeck1983

09.04.2009 - 11:07 Uhr

Hallo Moondog,

hole dir den Index des selektierten Eintrags und rufe dann


listView1.Items.RemoveAt(deinIndex);

auf. Dann sollte er weg sein.

Gruß Michbeck1983

09.04.2009 - 11:01 Uhr

Hallo khobi,

was soll unsichtbar passieren? Das Abspeichern der Datei? Die Datei selbst soll unsichtbar sein (in diesem Falle müsstest du beim Speichern halt FileAttributes.Hidden setzen)?

Gruß Michbeck1983

09.04.2009 - 09:23 Uhr

Hallo,

es hat sich jetzt erledigt. Ich habe im <system.web>-Abschnitt folgende Zeile eingefügt

<sessionState mode="InProc" cookieless="UseCookies" timeout="240" />

und schon geht alles. Danke für die Hilfe.

Gruß Michbeck1983

09.04.2009 - 08:43 Uhr

Hallo simhi88,

ich vermute weil dein Connectionstring falsch ist. Wenn du das |DataDirectory| benutzt, muss sich die daten.mdf-Datei in deinem App_Data-Ordner befinden. Ansonsten fehlt noch der Database-Parameter, der den DB-Namen angibt.

Gruß Michbeck1983

09.04.2009 - 08:36 Uhr

So,

nach ein paar weiteren Versuchen komme ich zu folgenden Erkenntnissen:

  1. Die Idee mit der Authentification scheint gar nicht mal schlecht zu sein. Die Zeichenfolge unterscheidet sich je nach Nutzer, der die Anwendung aufruft. Sie erscheint immer nach der Root-URL, also "MeinWebserver/MeineAnwendung/xyz/Home", "MeinWebserver/MeineAnwendung/xyz/Home/Edit".

  2. Authentification-Mode "None" zu setzen bringt nichts.

  3. Die Zeichenfolge erscheint nicht auf dem lokalen Rechner und dem hierauf laufenden Cassini-Server.

Ich vermute jetzt einen Zusammenhang zwischen dem Authentification und der IIS-Konfiguration...

Gruß Michbeck1983

09.04.2009 - 08:26 Uhr

Hallo EnterTheMatrix,

wenn du die Daten aus dem Browser auslesen willst, hat das ja erstmal nichts mit PHP direkt zu tun, sondern du müsstest den HTML-Output durchlaufen und diesen auswerten. Das geht natürlich.

Edit: Zu langsam, LaTino hat praktisch schon alles gesagt 😁

Gruß Michbeck1983

09.04.2009 - 08:09 Uhr

Hallo EnterTheMatrix,

warum sollte das nicht möglich sein? Solange du Zugriff auf eine PHP-Datei hast, kannst du diese ganz normal öffnen und auslesen. Natürlich bräuchtest du einen Parser für die PHP-Datei oder musst diesen selbst schreiben, damit du Daten auslesen und anzeigen lassen kannst.

Gruß Michbeck1983

09.04.2009 - 07:17 Uhr

Hallo Reman,

an das Membership-System hab ich noch gar nicht gedacht. Ich habe das auch gerade eben mal getestet, je nach User unterscheidet sich die seltsame Zeichenfolge in der URL. Das wird also wohl definitiv das sein, was du angesprochen hast.

In der Web.config steht der Authentication-Mode momentan noch auf Forms, wobei auf die Standard-Login-Seite verwiesen wird (die ich aber im Projekt rausgeschmissen habe weil wir keinen Login benötigen). Ich poste mal die meiner Meinung nach relevanten Teile der Web.Config:


<authentication mode="Forms">
  <forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
<membership>
  <providers>
    <clear />
      <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" applicationName="/" />
  </providers>
</membership>
<profile>
  <providers>
    <clear />
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ApplicationServices" applicationName="/" />
  </providers>
</profile>
<roleManager enabled="false">
  <providers>
    <clear />
    <add connectionStringName="ApplicationServices" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    <add applicationName="/" name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </providers>
</roleManager>

Da mein Wissen über Authentifizierung in ASP.Net noch sehr lückenhaft ist: muss ich den Authentification-Mode auf "None" setzen?

Edit: Also das reine setzen auf <authentication mode="None"> und das herauslöschen des <forms>-Knotens hat schonmal nichts gebracht...

Gruß Michbeck1983