Laden...

Forenbeiträge von Savage Ingesamt 100 Beiträge

14.10.2022 - 18:20 Uhr

Danke für den Input, wird wohl kein Weg daran vorbeiführen das alte Projekt zu modernisieren (-:

Die Frage ist: was hast Du gemessen?

Naja, bei 2 komplett gleichen frischen Installationen (beide nutzen die gleiche AzureSQL DB), fängt das schon mal beim Kaltstart an. Wo das AppService (S1) schon ca. 50 Sekunden dauert, braucht die VM (B2ms) nur 30 Sekunden. Oder der reine PageResponse dauert im AppService 400ms und auf der VM nur 100ms. Erst wenn ich das AppService auf P1v2 stelle komme ich auf eine gute Performance, aber da kostet alleine das AppService schon 150€/Mo.

14.10.2022 - 10:48 Uhr

Danke für euer rasches Feedback.

An ein Blob Storage dachte ich zuerst auch, aber da ergeben sich für mich 2 Probleme.

  1. Ich habe ein paar wenige Kunden die die Anwendung OnPrem-Hosten und dort gibt es nur das Filesystem, somit müsste ich zukünftig beide Möglichkeiten warten.
  2. Ich müsste eine Migration der bestehenden Daten vom Filesystem in die Blobs bauen, daher der kürzeste Weg über File-Shares. 🙂

Zum Thema VM:
Natürlich wäre ein App-Service genau passend für diese Anwendung, aber den Kostenaspekt kann ich nicht nachvollziehen. Das mag zwar subjektiv sein, aber bei meinen Tests war die Performance bei den App Service wesentlich schlechter als bei den VMs. Um ähnliche Performance zu erreichen müsste ich ein TIER wählen, welches wesentlich teurer wäre als die VM.

14.10.2022 - 10:09 Uhr

Hallo Zusammen,

ich habe eine ASP.NET (Core) Anwendung auf einer AzureVM. Dabei werden viele Daten (Bilder/Video) hochgeladen und auch wieder zur Anzeige gebracht. Aktuell werden diese Dateien in ein Unterverzeichnis der Anwendung geladen, allerdings wird so langsam die Disk voll.
Meine Idee war nun ein Azure File Share in der selben Region zu erstellen und diesen via SMB in in der WindowsVM zu mounten. Bei der Anwendung müsste ich nur umcoden, dass die Daten dort über den Drive-Letter x: anstatt dem bisherigen Unterverzeichnis.

Ist das eine schlechte Idee bzgl. SMB-Performance etc.? Hat da jemand Erfahrung damit oder bessere Ideen?

Vielen Dank für euer Feedback.

06.05.2022 - 12:53 Uhr

Btw., hier ist mir noch ein aufschlussreiches Video untergekommen: https://www.youtube.com/watch?v=B416AxHoMJ4

Ich denke, ich habe es soweit mal verstanden. Ich habe eine EnterpriseApp angelegt und habe diese bei anderen ADs provisioniert. Ohne etwas an der Core-App-Config zu ändern kann man sich nun aus verschiedenen ADs einloggen und im Event OnTokenValidated kann ich auch die tenantid des jeweiligen ADs auslesen.

Allerdings klemmt sich noch ein Punkt in meinem Kopf, nämlich die Redirect-URIs.
Wenn der User zum AD-Login umgeleitet wird, muss man ja den redirect_uri Paramater mitübergeben, welche bei der AppRegistration definiert werden müssen. Tut man das nicht bekommt man ja 'The redirect URI xxx specified in the request does not match the redirect URIs configured for the application'
Bei unserer bestehenden Asp.NET-App hat aber jeder Mandant eine eigene Domain, welche ich unmöglich alle eintragen kann.
Wie bekomme ich das zusammen? Oder habe ich schon wieder einen Gedanken-/Konzeptfehler?

06.05.2022 - 09:02 Uhr

@Abt
Vielen Dank für den Input, ich werde mir das im Detail ansehen.
Unsere Marktbegleiter lassen laut Doku ihre Mandaten in Azure immer eine eigene AppRegistration mit eigener AppId anlegen, daher bin ich überhaupt auf diese Vorgehensweise gekommen.

@Papst
Danke für den Link, sieht auch interessant aus.

05.05.2022 - 17:00 Uhr

Hallo zusammen,

gibt es eine Möglichkeit einen AuthenticationHandler zur Laufzeit hinzuzufügen?

Ich habe eine SaaS-App mit mehreren Mandanten.
Will sich nun ein Mandant auch gegen sein eigenes AzureAD authentifizieren, erstellt dieser in Azure eine AppRegistration und übermittelt uns ClientId/TenantId etc. Der entsprechende Eintrag von mir in der appSettings.json hinzufügt, welcher dann beim Startup in den **ConfigureServices **aufgerufen wird: services.AddAuthentication().AddMicrosoftIdentityWebApp("add1".…

Soweit funktioniert das alles, allerdings möchte ich nun, dass meine Mandaten ClientId/TenantId etc. in einem Adminbereich selbst eintragen können und dann irgendwie services.AddAuthentication().AddMicrosoftIdentityWebApp() zur Laufzeit aufrufen wird, damit nicht immer die komplette WebApp neu starten muss. Nach Stunden des Suchens und probieren konnte ich keine Lösung finden.

08.07.2021 - 09:49 Uhr

Super, vielen Dank für den guten Tipp! 🙂

08.07.2021 - 07:48 Uhr

Vielen Dank für das rasche Feedback.

Was mir nur auffällt:
Der Parameter wird ja automatisch gesetzt, wenn der PropertyName dem Parameter-Name entspricht.
Wie gesagt; sollte man nich mehr tun - aber hast vielleicht den Namen zusammen mit der Klasse geändert? Weil die ist ja auch unterschiedlich.

Habe ein paar Testprojekte mit unterschiedlichen Varianten, stets unterschiedlich je nach Core Version.

a) Urls sollten mittlerweile mit Hilfe des
>
erzeugt werden
b) Das Verhalten aus 3.1 ist eigentlich das gewünschte Verhalten; man will die implizite Parametrisierung eigentlich nicht. Gab viel Feedback auf GitHub dazu.

Macht auch Sinn, allerdings habe ich ein riesiges Projekt zu migrieren und alle Links zu prüfen bzw. anzupassen dürfte Tage dauern. 😭

Viele Links in den Razor-Pages wurden auch mit Taghelper <a asp-page="xxx">Link</a> erzeugt, dass das gleiche geänderte verhalten nun hat.

07.07.2021 - 22:20 Uhr

Hallo zusammen,

ich migriere gerade eine Asp.NET Core Anwendung von 2.1LTS zu 3.1LTS und muss feststellen, dass sich das Verhalten der Linksgenerierung geändert hat.
Früher wurden mit dem UrlHelper Parameter in der Route, welche auf der Zielseite vorhanden sind automatisch übernommen. Ich habe 2 einfache Testprojekte mit exakt gleichen Pages
einmal mit core2.1 und core 3.1 erzeugt, um es zu demonstrieren.

Siehe Screenshots.

Wie kann ich das alte Verhalten unter 3.1. nutzen?

05.03.2012 - 10:41 Uhr

Ich bin auf der Suche nach einem deutschen Umbraco Webhoster. Hat hierzu bereits jemand Erfahrungen sammeln können?
Die Vorraussetzungen sind ja nicht ohne:

•IIS 7+
•SQL Server 2008
•ASP.NET 4, MVC 3
•Medium-Trust/Full-Trust (Should work in Medium-Trust environments, but **Full-Trust **is still preferred)
•Ability to **set file permissions **to include create/read/write (or better) for the user that "owns" the Application Pool for your site (NETWORK SERVICE, typically)

17.12.2011 - 11:23 Uhr

Danke für deine Anregungen, ich werde mir das wohl alles nochmal durch den Kopf gehen lassen 😉

17.12.2011 - 10:44 Uhr

Du kannst den FTP-Zielpfad via FileSystemwatcher auf Aktionen überwachen.

Danke für den Tipp, erscheint mit aber auf den ersten Blick nach einer "frickl" Lösung.

Die Links hatte ich schon gesehen, leider auch keine befriedigende Lösung.

Ich denke nach unserer Diskussion, dass ein Dateiaustausch über den Webserver nicht sinnvoll ist, egal ob ashx-Handler oder Webservice.
Was denkst du über eine TLS/SSL Verbindung in punkto Sicherheit und Performance? Ich hab mich zwar noch nicht im Detail eingelesen, aber in meinem Fall wohl die bessere Option oder?

17.12.2011 - 09:58 Uhr

Da ist die Frage, wieso über die Anwendung und nicht via FTP.

Über FTP kann ich es deswegen nicht machen, weil ich serverseitig noch ein paar Aktionen mit dem File machen muss (projekt zuordnen > umbenennen, verschieben etc.)

16.12.2011 - 20:51 Uhr

Hi Leute,

ich habe eine größere reine ASP.NET Anwendung. Ich stehe nun vor der Aufgabe, einen Windows-Client zu programmieren, welcher größere Dateien (>1GB) zwischen dem Client und dem Server übertragen soll.
Wie soll ich am besten die Dateiübertragung realisieren bzw. was eignet sich am Besten?
Serverseitig einfach Dateien über ashx Handler übertragen?
Oder Separat einen Socketserver machen?
Webservice?
Das ganze sollte auch über eine verschlüsselte Verbindung funktionieren.

Danke für jede Anregung.

23.10.2009 - 09:15 Uhr

Danke für eure Anregungen!

22.10.2009 - 09:25 Uhr

Ich habe eine Adressdatenbank (ca. 10.000 Datensätze). Primär blättern mehrere Benutzer durch diese Datensätze bzw. können darin suchen. Insert/Updates sind eher selten.

Derzeit läuft jeder Request über die Datenbank, d.h. das Suchen wird durch ein Where eingegrenzt bzw. es werden immer nur die Datensätze der aktuellen Seite (Von/Bis) geliefert.

Wäre es nun sinnvoller, diese Tabelle (ca. 10k Datensätze) direkt in den ASP.NET Cache zu packen? Sodass die Benutzer nur mehr mit dem Cache sprechen und nicht mehr immer mit der Datenbank? Wenn ja, bis wie viele Datensätze würdet ihr das machen?

Lg Savage

06.05.2009 - 13:54 Uhr

habe den fehler nun selbst gefunden.

lösung falls es jemand mal braucht:
hatte auf der anderen entität auch eine assocation drinnen, also eine bidirectionale. somit gehört an einer stelle noch ein inverse="true" rein.

06.05.2009 - 11:54 Uhr

hallo,
ich habe eine entität, welche eine collection beinhaltet (UserRoles):


<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Gware.Core.Domain" assembly="Gware.Core" default-lazy="true">
  <class name="Gware.Core.Domain.User, Gware.Core" table="Users" lazy="true">
    <id name="ID" column="UID" type="Int64" unsaved-value="0">
      <generator class="identity" />      
    </id>
    <property name="Username" column="Username" unique="true" type="String" length="50" not-null="true" />
    <property name="Password" column="Password1" type="String" length="50" />    
    <bag name="UserRoles" table="UserInRole" lazy="true" cascade="all-delete-orphan">
      <key column="UID" />
      <one-to-many class="Gware.Core.Domain.UserRoles, Gware.Core" />
    </bag>

    </class>
</hibernate-mapping>

UserRoles ist dabei eine generische liste. Wenn ich nun einen eintrag darin lösche oder hinzufüge, dann führt er immer 2 statements aus.

beim löschen


NHibernate: UPDATE UserInRole SET UID = null WHERE UID = @p0 AND uinrID = @p1; @p0 = '1', @p1 = '5'
NHibernate: DELETE FROM UserInRole WHERE uinrID = @p0; @p0 = '5'

beim hinzufügen


NHibernate: INSERT INTO UserInRole (DateAdded, UID, RID) VALUES (@p0, @p1, @p2); select SCOPE_IDENTITY(); @p0 = '06.05.2009 11:47:43', @p1 = '1', @p2 = '3'
NHibernate: UPDATE UserInRole SET UID = @p0 WHERE uinrID = @p1; @p0 = '1', @p1 = '6'

btw... nhibernate benutzt mssql2005

warum haut er mir immer 2 statements raus?

06.04.2009 - 10:38 Uhr

Dank euch beiden, euer Anstoß hat mich drauf gebracht!
Ich hab tatsächlich den Wald vor lauter Bäume nicht mehr gesehen.
Die Erzeugung der Checkboxen war in einer if(!IsPostBack) Abfrage… 50mal drübergelesen, nicht gesehen. peinlich

Thx 👍

05.04.2009 - 21:03 Uhr

Hi Leute,

ich erstelle Checkboxen im Code-Behind auf dieser Art:

CheckBox cb = new CheckBox();                
cb.Text = r.Rolename;
cb.ID = "role_" + r.ID;
cb.EnableViewState = true;                
myplaceholder.Controls.Add(cb);    

Nach dem Postback kann ich das Control aber nicht mehr ansprechen:
myplaceholder.Controls.count liefert immer 0

Was mache ich falsch? Oder sehe ich den Wald vor lauter Bäume nicht mehr?

28.11.2008 - 09:41 Uhr

Danke für eure Hilfen. Ich werde dann mal das EF einsetzen. Jedoch stellt sich für mich wieder die Grundsatzfrage: Kennen alle 3 Schichten die Entities vom EF welche sich im DAL befinden? Weil irgendwie müssen die ja bis zum UI runtergereicht werden? Oder wie löse ich das?

27.11.2008 - 20:51 Uhr

Von deinen Vorschlägen würde ich dir zu einem generischen O/R Mapper raten

Kannst du mir auch einen Konkreten empfehlen?

27.11.2008 - 08:51 Uhr

Danke für eure Hinweise.

db-unabhängige persistenzschicht aufbauen da man auf sql verzichten kann

Ich habe mich noch nicht so im Detail mit OR-Mapper beschäftigt, aber kann ich dann überhaupt noch komplexere SQL-Abfragen realisieren? Bis dato habe ich solche Statements dann immer per Hand geschrieben (Joins mit Sub-Selects etc.)

26.11.2008 - 19:48 Uhr

Hallo Leute,

ich kann mich nicht entscheiden, welche Technologie ich einsetzen soll. Ich muss eine Anwendung mit einer größeren DB erstellen (ca. 120 Tabellen). Ich habe schon viel gelesen, aber weiß trotzdem nicht was ich im DataAccessLayer einsetzen soll.

Welche Datencontainer?

  • Datasets
  • Typed Datasets
  • oder einfache Entities (Klassen mit Properties & generisches Lsiten) die ich per Hand mappe

Welchen OR-Mapper (wenn überhaupt)?

  • per Hand Wert für Wert mappen?
  • das neue Entity Framework?
  • NHibernate
  • LINQ (Bin ich nicht gerade ein Freund von, weil ich SQL-Statements schneller schreibe 😉 )

Will natürlich auch ein sauberes 3-Schichten-Modell hochziehen und stelle mir auch die Frage, wo werden die Entities eingebaut (Oder ein eigenes Projekt mit Entities. welches jede Schicht kennt?).

Freue mich über jeden Tip 🙂

30.07.2008 - 17:55 Uhr

was lass ich mir dann von dem dienst am besten geben?

ja die liste mit den files? ein webservice läuft ja serverseitig, da kannst ja das verzeichnis mit getfiles auslesen

und kann ich den dienst auch zum upload von dateien verwenden?

ja kannst du, google mal, gibt eh viele beispiele

30.07.2008 - 15:49 Uhr

soweit ich weiß, ist das gar nicht möglich.
sl läuft ja clientseitig, d.h. du kannst mit der methode auch nur clientseitige verzeichnisse durchbrowsen.

du könntest aber über ein webservice ein verzeichnis abfragen.

30.07.2008 - 15:14 Uhr

Hallo,

wenn ich Grafiken im PNG Format als Ressource einbette, dann wird die DLL bzw. XAP logischerweise größer. Leider gibt es aber anscheinend keine interne Komprimierung, was die Dateien relativ schnell anwachsen lässt. Adobe Flash benutzt, im Vergleich dazu, intern eine JPG Komprimierung, ohne das dabei die Alpha-Transparenzen des PNGs verloren gehen. Das fehlen dieses Features sehe ich bei Silverlight als großes Manko.

Ich habe z.B. eine Isometrische-Engine, wo Charaktere herumlaufen. Ein Charakter besteht aus 128 Einzelbildern für die Bewegungen, als PNG abgespeichert (ist notwendig wegen Alpha-Verlauf) haben diese fasst 800kb…. Ein paar Charaktere mehr und der Download wird viel zu groß.

Hat jemand vielleicht ne Idee, wie ich das lösen könnte?

18.03.2008 - 18:56 Uhr

Danke für die Info, werde es mir anschauen.

17.03.2008 - 19:38 Uhr

Ja, aber bekommt man da nicht ein Performance-Problem?

Angenommen ich habe 10 Freunde und jeder dieser Freunde hat auch 10 Freunde etc…. Dann würde der Join bei 5 Ebenen 10^5 (also 100.000) Datensätze durchsuchen müssen. Oder habe ich da jetzt einen Denkfehler?

17.03.2008 - 18:43 Uhr

Hallo Leute,

ihr kennt sicher Community-Portale (Xing, StudiVZ, etc.), bei denen man sehen kann, über welche „Ecken“ man eine bestimmte Person kennt.
Ich muss so was entwickeln und weiß nicht, wie ich es angehen soll. Mein Ansatz war eine rekursive Abfrage, also einfach die eigenen Freunde durchsuchen, prüfen ob diese die Zielperson kennen, wenn nicht, dessen Freunde wieder durchsuchen usw.

Aber diese Methode ist natürlich sehr langsam, wenn die Rekursion in die Tiefe geht.

Wie kann ich das am besten lösen?

06.03.2008 - 10:20 Uhr

naja, aber mit was soll ich die zeichen ersetzen? buchstaben und zahlen werden ja alle verwendet.

06.03.2008 - 08:42 Uhr

Moin,

wenn sich ein Benutzer auf einem Webportal registriert, schicke ich ihm ein Email mit einem verschlüsselten Freischaltcode zum aktivieren seines Benutzers. Dadurch kann es passieren, das ein Link so aussieht: http://localhost/register.aspx?regok=VoXyErqjfqGvrW4SGwrVO8ukyu/pnTelDOO4i8JLWT==

Mein Problem ist, dass manche Email-Clients den Link ohne die beiden = am Ende generieren. Kann ich irgendwie umgehen, dass Zeichen wie = beim verschlüsseln verwendet werden?
Hier die Methode:


public static string Encrypt(string TextToBeEncrypted)
        {
            RijndaelManaged RijndaelCipher = new RijndaelManaged();
            string Password = "xxx";
            byte[] PlainText = System.Text.Encoding.Unicode.GetBytes(TextToBeEncrypted);
            byte[] Salt = Encoding.ASCII.GetBytes(Password.Length.ToString());
            PasswordDeriveBytes SecretKey = new PasswordDeriveBytes(Password, Salt);
            //Creates a symmetric encryptor object. 
            ICryptoTransform Encryptor = RijndaelCipher.CreateEncryptor(SecretKey.GetBytes(32), SecretKey.GetBytes(16));
            MemoryStream memoryStream = new MemoryStream();
            //Defines a stream that links data streams to cryptographic transformations
            CryptoStream cryptoStream = new CryptoStream(memoryStream, Encryptor, CryptoStreamMode.Write);
            cryptoStream.Write(PlainText, 0, PlainText.Length);
            //Writes the final state and clears the buffer
            cryptoStream.FlushFinalBlock();
            byte[] CipherBytes = memoryStream.ToArray();
            memoryStream.Close();
            cryptoStream.Close();
            string EncryptedData = Convert.ToBase64String(CipherBytes);

            return EncryptedData;
        }

14.02.2008 - 11:20 Uhr

also ich habs jetzt mal probiert.

funktioniert ohne probleme wenn mehrere threads gleichzeitig auf die funktion zugreifen (es bekommt jeder die richtige id).

kompakt dargestellt:


using (MySqlConnection cn = new MySqlConnection(connStr))
{
  cn.Open();
  MySqlCommand cmd = new MySqlCommand("INSERT INTO tab01 (uname) VALUES (?s1);SELECT LAST_INSERT_ID();", cn);
  cmd.Parameters.AddWithValue("?s1", "asdf");
  int LastID = Convert.ToInt32(cmd.ExecuteScalar());
  Response.Write(LastID);
} 

13.02.2008 - 20:10 Uhr

danke für die infos, werde es dann mal so umsetzten.

13.02.2008 - 17:38 Uhr

@FZelle
ich benutze so die connection, kann es da zu problemen kommen?


using (MySqlConnection cn = new MySqlConnection(Utils.GetConnString()))
        {            
            cn.Open();            
            MySqlCommand cmd = new MySqlCommand("INSERT INTO users (usr_Loginname) VALUES (?s1)", cn);            
            cmd.Parameters.AddWithValue("?s1", "asdf");            
            cmd.Prepare();
            cmd.ExecuteNonQuery();
        }

es muss doch dafür eine gängige lösung geben oder? ich meine, das braucht man ja oft bei web-anwendungen. wenn ich z.b. einen benutzer anlege und gleich ein paar rollen in einer anderen tabelle einfügen muss, dann benötige ich ja gleich die letzte id.

oder soll man gleich ne GUID im code erzeugen und so arbeiten statt auto-increment?

13.02.2008 - 14:32 Uhr

verwendetes Datenbanksystem: MySql / Connector/NET

Hallo,
mein PK in der Tabelle ist ein „auto_increment“ Integer.
Wir frage ich nun nach einem Insert, am besten die automatisch erzeuge ID ab?
Nach dem Insert ein „SELECT @@IDENTITY“? Ist das sicher (Multithreading)? Performant?

08.02.2008 - 10:22 Uhr

Danke, ihr habt mir schon sehr weitergeholfen.
Warum setzen aber die ganzen PHP-Webhoster nicht Postgre anstatt Mysql ein?

08.02.2008 - 09:20 Uhr

Danke für deine prompte Antwort.
Ich habe aber keinerlei Erfahrung mit PostgreSQL, kann man es genauso einfach in ASP.NET integrieren wie Mysql?

Treffen deine genannten Vorteile nicht auch auf Mysql zu (bis auf die programmierbarkeit)?

08.02.2008 - 08:40 Uhr

Hi Leute,

wir müssen in meiner Firma eine größere Webplattformentwickeln, bei der wir am Anfang mit ca. 10.000 Zugriffen/Tag rechnen (Wert soll stetig steigen).

Als Sprache wollen wir definitiv ASP.NET (Win2k3) einsetzen, aufgrund der vielen Vorteile des .NET Frameworks.

Für mich stellt sich nun die Frage, welches Datenbanksystem wir verwenden. MSSQL Express würde sich ja empfehlen, aber da werden wir sicher dieses 4GB Datenlimit erreichen und die Lizenzkosten für den MSSQL-Server will sich die „Chefetage“ nicht leisten. Darum kam Mysql ins Spiel, auch deswegen, da wir später die Möglichkeit hätten den Mysql-Datenbankserver auf einer eigenen Linux maschine laufen lassen zu können und somit wieder Lizenzkosten für ein Betriebssystem sparen.

Wir denkt ihr darüber? Ist es Sinnvoll in dem Szenario Mysql einzusetzen?

05.07.2007 - 12:40 Uhr

schau mal aufs datum meines posts...
game ist schon lange offline

14.08.2006 - 15:03 Uhr

nö, geht auf keinen fall, außerdem wäre es sinnlos eine benutzergruppenzuweisung in einer tabelle zu machen.

14.08.2006 - 14:53 Uhr

schade, mag nicht immer im code wegen einer einfachen anzeige ein workaround machen 😦

14.08.2006 - 14:15 Uhr

Also:


SELECT usr_Loginname, gro_Name 
FROM users
LEFT JOIN usergroups ON users.usr_UID = usergroups.usr_UID
LEFT JOIN groups ON groups.gro_GID = usergroups.gro_GID

Liefert:


Zeile1: admin   | Mitarbeiter 
Zeile2: admin   | Administratoren 
Zeile3: testtest| Mitarbeiter 

Ich will aber die die Benutzergruppen in einer Spalte haben, also:


Zeile1: admin   | Mitarbeiter, Administratoren
Zeile2: testtest| Mitarbeiter 

14.08.2006 - 13:53 Uhr

nö nicht ganz...

ich möchte die gejointen zeilen in einer spalte ausgeben

14.08.2006 - 12:58 Uhr

select tabelle1.group1 | tabelle2.group1 as group

ich verstehe nicht ganz was du meinst

14.08.2006 - 09:52 Uhr

hallo,
ich habe 2 tabellen, welche ich mit einem join verbinde.

habe ich eine möglichkeit die gejointen datensätze in einem feld mit , getrennt anzuzeigen?

also normal wird es ja z.B. so ausgegeben:
User1:Gruppe1
User1:Gruppe2
User2:Gruppe1

will aber nun die gejointen datensätze in einer zeile:
User1:Gruppe1, Gruppe2
User2:Gruppe1

ist das überhaupt möglich?

31.01.2006 - 13:48 Uhr

super toll 🙂
vielen dank für den tipp, funzt wunderbar

31.01.2006 - 11:54 Uhr

ja, der dateiname bleibt immer gleich (zwingend wg. aufgabenstellung).
wären die namen immer anders würde es klappen.

redirecten kann ich nicht, weil ich da mit postbacks durchnavigiere.

31.01.2006 - 11:10 Uhr

hi,

ich hab ein ascx-control geschrieben, wo man ein bild uploaden kann.
nach dem upload wird es gleich wieder angezeigt, ... uploaded gleich danach ein neues so wieder immer das alte dargestellt, bis ich den browser refreshe (F5).

wie kann ich dieses cachen verhindern?

23.11.2005 - 15:27 Uhr

hm.. ich hab mir sagen lassen das rekursive datenbankabfragen sehr serverlastig sind. -- geht das überhaupt mit mysql oder mssql?