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 ravel
Thema: Nach Azure umziehen - Pro Aufgabe eine neue Worker Roles starten
Am im Forum: Rund um die Programmierung

Hi Abt,

vielen Dank für Deine schnelle Antwort.

ich habe mir grade ein einfaches Beispiel zu Azure WebJob mit Console Apps hier http://www.hanselman.com/blog/IntroducingWindowsAzureWebJobs.aspx angesehen. Dort steht "They (WebJobs) are built into Azure Websites and run in the same VM as your Web Sites."

So wie ich das verstehe, habe ich bei Azure wieder eine VM und die Anwedung skaliert auch nur innerhalb dieser VM.
Kann ich irgendwie (automatisch) die Grenzen der VM verlassen und dadurch hoch- und runter-skalieren?

Ich hatte es mir ganz naiv so vorgestellt, dass ich die Jobs einfach an Azure übergebe und dort wird entschieden, wo der Job läuft.

Besten Dank

Thema: Nach Azure umziehen - Pro Aufgabe eine neue Worker Roles starten
Am im Forum: Rund um die Programmierung

Hi,

ich nutze einen Web Crawler, der momentan auf einem virtuellen Server läuft. Der Web Crawler läuft innerhalb eines Windows-Dienstes, angeschlossen per WCF an eine ASP.NET-Webseite für das Starten und Stoppen der crawl jobs.

Pro crawl job wird momentan ein Backgroundworker innerhalb des Dienstes gestartet, der den crawl job ausführt und die Ergebnisse in eine MongoDB-Datenbank schreibt.

Aus Gründen der Skalierbarkeit, möchte ich gerne nach Azure umziehen.

Ich habe mir gedacht, dass jeder neue crawl job in einer eigenen (WCF-)Worker Role läuft.
Die Worker Role schreibt auch gleich die Ergebnisse des Crawl-Vorgangs in die Datenbank.

Die ASP.NET-Webseite hat einen Dienstverweis auf die WCF-Worker-Role.

Wie starte ich aber für jeden crawl job eine eigene Worker Role?

Vielen Dank

Thema: programm.exe is not a valid Win32 application
Am im Forum: Rund um die Programmierung

Anwendungskompatibilität in .NET Framework 4.5

Punkt "Wichtig"

Thema: Windows-Dienst über ASP.NET-Seite steuern
Am im Forum: Rund um die Programmierung

Ich danke euch. Werde es dann wohl mittels WCF lösen.

Thema: Windows-Dienst über ASP.NET-Seite steuern
Am im Forum: Rund um die Programmierung

Hi,

ich habe eine .net-Anwendung (einen Web-Crawler) auf meinem Server, die längere Zeit läuft. Die Anwendung möchte ich gerne über eine ASP.NET-Seite "fernsteuern", sprich starten, anhalten und Status abfragen.

Ich könnte die .net-Anwendung direkt von ASP.NET referenzieren. Ich sehe dabei aber ein Problem: Nachdem ich die ASP.NET-Seite schließe, läuft die Session ab und die .net-Anwendung wird beendet. Der Web-Crawler soll aber weiterlaufen, auch wenn keiner auf dem Server angemeldet ist.
Damit das Ganze nicht passiert, dachte ich mir, ich setze einen Windows-Dienst ein, der Befehle von der ASP.NET-Seite entgegen nimmt und die .net-Anwendung startet und am Leben hält.
Ist das der richtige Ansatz?
Wenn ja, wie greife ich von meiner ASP.NET-Seite auf den Dienst am besten zu?

Per WCF? (Host WCF in a Windows Service Using TCP)

Vielen Dank!

Thema: Nächstgelegene Adresse/Anschrift finden
Am im Forum: Rund um die Programmierung

Hi,

für ein neues Projekt bräuchte ich einen kleinen Denkanstoß.

Ich habe eine Datenbank in der die Benutzer meiner Webseite ihre Hausadressen hinterlegen. Andere Besucher der Webseite können jetzt ihre Adresse eingeben und ich möchte die nächstgelegensten Adressen aus meiner Datenbank finden.
Ein Besucher der Webseite gibt also seine Hausadresse ein und meine Webseite soll dann (sortiert nach Entfernung) die nächstgelegensten eingetragenen Adressen aus der Datenbank ausgeben.

Ich bin mir nur noch nicht sicher, ob ich die Luftlinie oder die "richtige" (Benutzung von Straßen) Entfernung benötige. Es geht darum, dass Leute von anderen Personen etwas abholen anstatt es sich per Post zuschicken zu lassen.

Es gibt ja Karten-APIs (bing maps, google maps) aber diese sind auf X Abfragen pro Tag begrenzt und kosten dann etwas.
Wie mache ich es am geschicktesten so wenig API-Aufrufe wie möglich zu verbrauchen?

Ein Ansatz wäre ja pro eingegebener Adresse eine Entfernungsmessung zu allen eingetragenen Adresse zu machen und dann sortiert auszugeben. --> Viele API-Aufrufe und exakte Entfernung.

Ein anderer Ansatz wäre schon beim Anlegen der Adressen den Längen- und Breitengrad per API zu ermitteln und mit in der Datenbank abzuspeichern. Dann kann man wenigstens die Luftlinie berechnen. --> Wenig API-Aufrufe aber ungenau.

Wie macht man es richtig?

Thema: [erledigt] ASP.Net GridView prüfen ob Feld leer ist
Am im Forum: Web-Technologien

Hi,

hier müsste eigentlich genau das stehen, was du suchst:
http://highoncoding.com/Articles/135_Dealing_with_GridView_Empty_Cells.aspx

Thema: Methode, die zwei Zeichenketten und prozentuale Ähnlichkeit ausgibt
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,

ich kenne nur "soundex". Hier gibts ne .net-Implementierung davon:
A SoundEx implementation in .NET

ravel

Thema: Insert-Befehl von TableAdapter fügt keine Daten in die Datenbank
Am im Forum: Datentechnologien

Ich habe herausgefunden, was schief läuft:
Visual Studio kopiert die Datenbank ins bin/Debug-Verzeichnis. Meine Anwendung schreibt dann in die mdf-Datei im bin/Debug-Verzeichnis. Die Verbindung im Datenbank-Explorer verweist aber auf die mdf-Datei im Projektordner.

Bleibt mir jetzt nichts anderes über als die Verbinungsdaten im Datenbank-Explorer auf mein bin/Debug-Verzeichnis zeigen zu lassen, damit ich die Daten sehe?

Thema: Insert-Befehl von TableAdapter fügt keine Daten in die Datenbank
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MSSQL-Server 2008 R2 Express

Hi,

ich habe eine (dienstbasierte) Datenbank (mdf-Datei) zu meinem Projekt hinzugefügt und ein DataSet (xsd-Datei).
Meine Datenbank enthält eine Tabelle. Das DataSet enthält einen TableAdapter mit einem InsertQuery-Befehl.

Ich möchte jetzt die Datenbank mit dem InsertQuery-Befehl füllen. Der Befehl wirft keine Exception, trotzdem landen keine Daten in der Datenbank.


            dsDataTableAdapters.itemsTableAdapter taItems = new dsDataTableAdapters.itemsTableAdapter();
            taItems.InsertQuery("hallo", "welt");

Das Ganze habe ich in ASP.NET schon gefühlte hundert Mal gemacht und es hat immer geklappt. Leider komme ich bei dem C#-Projekt nicht weiter.

Anbei das Beispielprojekt.

Ich verstehe nicht, was ich falsch mache. Kann mir jemand auf die Sprünge helfen?

Thema: Zeilen mit den meisten Treffern in Untertabelle zurückgeben
Am im Forum: Datentechnologien

Hi,

erstmal vielen Dank für deine Hilfe! Ich würde aber ganz gerne ohne zusätzliche dritte Tabelle auskommen.

Ich hab jetzt selbst mal was gebastelt, was der Sache schon sehr nahe kommt. Leider bekomme ich bei dem Ausdruck immer noch einen Fehler.


  SELECT TOP (5) maincontent.id, maincontent.text
                        FROM maincontent INNER JOIN keywords ON maincontent.id = keywords.fk_maincontent_id
                        WHERE keyword in ('haus', 'auto', 'boot')
                        GROUP BY maincontent.id, maincontent.text
                        ORDER BY (select COUNT(keyword) as num, keyword from keywords
                        WHERE keyword in ('haus', 'auto', 'boot')
                        group by keyword
                        order by num desc);

Der Fehler lautet:
Fehler
Die ORDER BY-Klausel ist in Sichten, Inlinefunktionen, abgeleiteten Tabellen, Unterabfragen und allgemeinen Tabellenausdrücken nur dann gültig, wenn auch TOP oder FROM XML angegeben wird.

Wenn ich das letzte order-by weglasse, kommt ein anderer Fehler:
Fehler
Nur ein einziger Ausdruck kann in der Auswahlliste angegeben werden, wenn die Unterabfrage nicht mit EXISTS eingeleitet wird.

Ich bräuchte die Sache aber natürlich sortiert.

Thema: Zeilen mit den meisten Treffern in Untertabelle zurückgeben
Am im Forum: Datentechnologien

Hi,

das Problem ist, dass ich als Parameter (@keywords) eine kommagetrennte Liste mit keywords übergeben möchte.

Dein Beispiel (und meines auch) funktioniert nur mit einem Keyword. Sobald ich "stichwort1,stichwort2" übergebe, wird nichts mehr zurückgegeben, obwohl die Keywords den Texten zugeordnet waren.


SELECT        TOP (5) maincontent.id, maincontent.approved, maincontent.title, maincontent.description, maincontent.text, maincontent.date_added, 
                         maincontent.fk_category_id
FROM            maincontent INNER JOIN
                         keywords ON maincontent.id = keywords.fk_maincontent_id
WHERE        (keywords.keyword IN (@keyword))

EDIT: Wenn es die Sache einfacher macht, würde ich auch auf die Untertabelle "keywords" verzichten und die Keywords kommagetrennt in einer Spalte von maincontent abspeichern. Ich glaube aber, dadruch wirds noch komplizierter.

Mein Vorhaben ist ja immer noch, die 5 "ähnlichsten" Texte zurückzuliefern.

Thema: Zeilen mit den meisten Treffern in Untertabelle zurückgeben
Am im Forum: Datentechnologien

Vielleicht wird es so etwas klarer, wie mein Aufbau ist:
Im Frontend meiner Anwendung kann man einen Text eintippen (landet in der Tabelle maincontent) und zu dem Text keywords (landet in Tabelle keywords).
maincontent und keywords sind mit einer Fremdschlüsselbeziehung miteinandern verknüpft.

Ich möchte meinen Text außenvor lassen. Es geht mir nur um die Keywords.
Es sollen die 5 ähnlichsten Texte gefunden werden. Ähnlich heißt bei mir, es sollen so viele Keywords wie möglich übereinstimmen. Das ganze sortiert nach Anzahl der übereinstimmenden Keywords.

Thema: Zeilen mit den meisten Treffern in Untertabelle zurückgeben
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MSSQL Server 2008R2 Express

Hi,

ich habe zwei Tabellen maincontent und keywords. Keywords hat eine Fremdschlüsselbeziehung zu maincontent.

Hintergrund: Ich speichere Texte und dazu Keywords. Ich möchte nun anhand der eingegebenen Keywords ähnliche Texte zurückgeben lassen. Ähnlich = enthält so viele gleiche Keywords wie möglich.

Mein erster SQL-Versuch war folgender:


select top(5) * from maincontent left join keywords on maincontent.id = keywords.fk_keyword_id where keywords.id in (@keywords)

Das das nicht richtig funktioniert, habe ich selbst gemerkt. Da ja nicht die Trefferanzahl der Keywords berücksichtigt wird. Es wird nur geguckt, ob alle Keywords darin vorkommen.

Kann mir jemand bei dem SQL-Befehl auf die Sprünge helfen?

Vielen Dank!

Thema: ASP.net 4.0 - Suchmaschinenfreundliche URLs
Am im Forum: Web-Technologien

Hi,

ich habe folgende Quelle genutzt um suchmaschinenfreundliche URLs zu erstellen mittels URL-Routing.
URL Routing with ASP.NET 4 Web Forms

Page.GetRoutUrl gibt einem ja anhand von Parametern eine suchmaschinenfreundliche URL zurück. Die Sache ist nur die: Wenn der Parameter Leerzeichen enthält, wird daraus richtigerweise ein "%20" gemacht, damit die Browser damit auch was anfangen können. z.B. seite.de/rotes%20Auto/

Kann ich die URLs aus SEO-Sicht so lassen oder sollte ich selbst noch handanlegen und z.B. Leerzeichen, Sondernzeichen und Umlaute ersetzen, damit die URL "lesbarer" wird? z.B. seite.de/rotes-Auto/ (Leerzeichen durch Bindestrich ersetzt)

Was gefällt Google und Co und dem Benutzer lieber?

In Firefox wird die URL mit Leerzeichen angezeigt in der Adressleiste. In IE9 und Chrome wird der %20-Platzhalter verwendet.

Thema: Woher wissen Internet-Computer-Shops welche Hardware zueinander kompatibel ist?
Am im Forum: Smalltalk

Ja, ich hätte sowas aber gerne für alle großen Hersteller :-)

Thema: Woher wissen Internet-Computer-Shops welche Hardware zueinander kompatibel ist?
Am im Forum: Smalltalk

Hi,

auf http://support.asus.com.tw/cpusupport/cpusupport.aspx?SLanguage=de-de kann man z.B. eine CPU eingeben und sehen, welche ASUS-Boards dazu passen.

Wäre schade, wenn es nicht so eine Liste geben würde. So eine Liste (automatisiert) zu erstellen wäre schon ein Projekt wert. Da hätten bestimmt einige Leute bedarf daran.

Thema: Woher wissen Internet-Computer-Shops welche Hardware zueinander kompatibel ist?
Am im Forum: Smalltalk

Hi,

meine Frage steht im Betreff. Es gibt Computer-Shops mit PC-Konfiguratoren, die wissen, dass eine Intel-CPU nicht auf ein AMD-Mainboard passt.

Woher bekommen die Shopbetreiber diese Infos?
Für ein Projekt suche ich nämlich eine solche aktuell gehaltene Kompatibilitätsliste.

Danke und Gruß

Thema: MSSQL-Datenbank (MDF-Datei) versehentlich OFFLINE gesetzt. Wie krieg ich sie wieder gestartet?
Am im Forum: Datentechnologien

Hi,

danke für deine Antwort.
Blöde Frage aber, wie bekomme ich die DB im Management-Studio zu gesicht? Ich sehe dort nur eine master.mdf und noch weitere Datenbanken (sitze grade nicht an meinem Entwicklungsrechner) aber nicht meine offline geschaltete Datenbank.

EDIT: Um nochmal alles klar zu stellen: Ich habe die Datei nicht übers Management-Studio angelegt, Visual Studio hat die mdf-Datei selbst angelegt. Daher hatte ich nie Zugriff auf die Datei per Management-Studio und habe es jetzt auch nicht.

Thema: MSSQL-Datenbank (MDF-Datei) versehentlich OFFLINE gesetzt. Wie krieg ich sie wieder gestartet?
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MSSQL 2008 R2 Express

Hi,

ich habe folgendes innerhalb meiner ASP.NET-Webseite ausgeführt und damit meine Datenbank(datei) offline gesetzt:
"ALTER DATABASE [MEINE_DATENBANK] SET OFFLINE WITH ROLLBACK IMMEDIATE"

Jetzt kann ich mich nicht mehr zur Datenbank verbinden. Ich habe versucht die Datenbank wieder online zu bringen, leider ohne Erfolg. Ich weiß ehrlich gesagt nicht, wo ich den Befehl "ALTER DATABASE [MEINE_DATENBANK] SET ONLINE" eingeben soll. Die ASP.NET-Seite gibt beim Datenbankzugriff jetzt diese Meldung:

Die Standarddatenbank des Benutzers kann nicht geöffnet werden. Fehler bei der Anmeldung.
Fehler bei der Anmeldung für den Benutzer 'Mein_Benutzer'.

Ähnliche Meldung gibt das SQL Server Management Studio, wenn ich die Datenbankdatei (MDF) attachen will.

Wie bekomme ich meine Datenbank wieder in die Gänge?

Vielen Dank im Voraus

Thema: [erledigt] WebBrowser Objekt richtig benutzen: Button klicken, nachdem die Seite geladen wurde
Am im Forum: GUI: Windows-Forms

Ich gehe davon aus, dass die Seite noch nicht fertig geladen ist.
Das Webbrowser-Control ein hat event, das Navigate_Complete oder so ähnlich heißt. Lass in dem Event auf den Button klicken.

Thema: Problem bei Constraint-Erstellung
Am im Forum: Datentechnologien

Hallo ihr beiden.
Danke für die Anworten. Das leuchtet ein.

Thema: Problem bei Constraint-Erstellung
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MS SQL 2008 R2 Express

Hi,

ich versuche grade vergeblich ein foreign key constraint zu erstellen, bekomme aber immer eine Fehlermeldung (siehe Screenshot).

Beide Spalten haben den gleichen Datentyp und in beiden Tabellen haben die benutzten Spalten die gleichen Werte. Also in fk_user_id stehen die gleichen Werte wie in ProviderUserKey.

Ist es ein Problem, dass die Tabelle bereits Daten enthalten? Ich kann die Tabellen schlecht leeren um das auszuprobieren, weil auf der yaf_User-Tabelle wiederum constraints sitzen die mir das Löschen verweigern.

Was mache ich falsch?

Thema: [ASP.NET] Bilder neben- und untereinander anzeigen. Welches Control?
Am im Forum: Web-Technologien

Alles klar. Besten Dank erstmal an euch beide!

Thema: [ASP.NET] Bilder neben- und untereinander anzeigen. Welches Control?
Am im Forum: Web-Technologien

Ich hätte vielleicht dazu sagen sollen, dass ich sehr wohl weiß wie groß meine Bilder (Thumbnails sind alle gleich groß) sind. Außerdem hat meine Seite eine fixe Breite. Serverseitig kann ich also schon ausrechnen, wieviele Bilder nebeneinander passen und wann eine neue Zeile begonnen werden muss.

Oder versteh ich da etwas falsch?

Thema: [ASP.NET] Bilder neben- und untereinander anzeigen. Welches Control?
Am im Forum: Web-Technologien

Hi,

ich möchte eine art Gallerie realisieren mit einfachsten Mitteln.
Ich habe Bilder-Informationen in einer Datenbank und die zugehörigen Bilder auf der Festplatte.

Ich möchte Bilder nebeneinander bzw. wenn eine Zeile voll ist (meine Webseite hat eine fixe Breite) untereinander anzeigen.

Meine Frage ist, welches Control eignet sich zum Anzeigen der Bilder am Besten? Ein Gridview kann ja standardmäßig nur Einträge untereinander anzeigen oder?
Wie wäre es mit einem FormView?
Oder sollte ich per Placeholder die Controls selber dynamisch auf der Seite erzeugen? (Ich bräuchte eigentlich nur ein Image und ein Label pro Bilder-Datensatz).

Vielen Dank im Voraus

Thema: Mehrere Funktionen mit unterschiedlichen Wartezeiten hintereinander ausführen
Am im Forum: Rund um die Programmierung

Hi,

ich möchte gerne verschiedene Funktionen hintereinander ausführen. Dazwischen liegen verschiedene Wartezeiten. Nach einem Durchlauf sollen die Funktionen erneut aufgerufen werden, usw. bis der User "Stop" oder "Pause" drückt. Ich habe eine Windows-Forms-Anwendung.

Zuerst habe ich einfach mittels Thread.Sleep zwischen den Funktionen gewartet. Das ist leider unvorteilhaft, da dadurch die Anwendung eingefroren wird.

Ich habe mir gedacht, die beste Lösung, und immer hier im Forum empfohlen, sei ein Timer. Jedoch wird dadurch der Programmablauf sehr unübersichtlich, was ich mit folgedem Code verdeutlichen will:

 private void tmrDoWork_Tick(object sender, EventArgs e)
        {
			//timer stoppen, damit er sich nicht "überschlägt"
            tmrDoWork.Stop();

			//pause-funktion
            if (currWorkState == WorkState.Pause)
            {
                tmrWork.Interval = 100;
                tmrWork.Start();
                return;
            }

			if (currWorkState == WorkState.Method1)
			{
				Method1();
				currWorkState = WorkState.Method2;
				tmrWork.Interval = 100;
                tmrWork.Start();
                return;
			}

			if (currWorkState == WorkState.Method2)
			{
				//solange bedingung nicht erfüllt ist, 2 sekunden warten und erneut prüfen
                if (!Bedingung())
                {
                    tmrWork.Interval = 2000;
                    tmrWork.Start();
                    return;
                }
                else
                {
                    currWorkState = WorkState.Method3;
                    tmrWork.Interval = 10000;
                    tmrWork.Start();
                    return;
                }
			}
			
			if (currWorkState == WorkState.Method3)
			{
				Method3();
				tmrWork.Interval = 1;
                tmrWork.Start();
                return;
			}			
            
}

Das Ganze mit mitteln wie Thread.Sleep sieht viel übersichtlicher aus und ist leichter zu verstehen:


private void DoWork()
{
	while(!bStop)
	{	
		while(bPause)
		{
			Thread.Sleep(200);
		}
		
		Method1();
		Thread.Sleep(100);
		
		while(!Bedingung)
		{
			Thread.Sleep(2000);			
		}
		
		Method2();
		Thread.Sleep(10000);
		Method3();
	}
}


Wie macht man es "richtig", damit sich der Programmcode besser lesen lässt? Ist der Timer die richtige Wahl oder sind andere Instrumente besser geeignet? BackgroundWorker, Threads...

Danke im Voraus!

Thema: Abbrechbarer Fortschrittsbalken, ohne dass das GUI blockiert
Am im Forum: GUI: Windows-Forms

Ein Application.DoEvents() nach Thread.Sleep(x) sollte helfen.

Thema: Textlink View-Counter für externe Seiten
Am im Forum: Web-Technologien

Hallo MarsStein,

danke für die schnelle Antwort.

Der Linktext sowie der Link ändert sich immer. Es soll im Prinzip ein Linktausch werden bei dem die User ein Script auf Ihre Website einbauen. Es soll dann ermittelt werden wie oft der Link angezeigt und angeklickt wurde. Letzteres ist kein Problem nur hänge ich immer noch dabei fest, Werte zurück an die externe Seite zu übermitteln, trotz Response.ContentType = "text/javascript"; wird immer nur eine leere Seite angezeigt.

Brauch ich nun wirklich einen eigenen HttpHandler? Ich verstehe nicht ganz, dass mein Beispiel nicht klappt. Die Page_Load-Funktion wird ja korrekt aufgerufen aber der Response.Write-Code landet nicht auf der externen Seite.
Sorry, wenn ich mich doof anstelle.

Gruß
ravel

Thema: Textlink View-Counter für externe Seiten
Am im Forum: Web-Technologien

Hi,

ich versuche mich grade daran herauszufinden, wie oft ein Link auf einer externen Seite von Besucher "gesehen" wurde. Leider bisher ohne Erfolg.

Ich gehe dabei so vor:

Ich habe ein Javascript auf der externen Seite, dass als Script-Source meine aspx-Seite enthält. Beim Aufruf des Scriptes wird auch tatsächlich das Page_Load-Event meiner aspx-Seite aufgerufen.


<html><script language="JavaScript" src="http://localhost:49391/Default.aspx?id=123"></script></html>

Nun möchte ich aber gerne noch von meiner aspx-Seite den Linktext an die externe Seite geben. Ich habe also aus der Default.aspx alles entfernt und nur im Page_Load-Event ein


 Response.Write("Hallo " + Request.QueryString["id"]);
eingefügt.

Wenn ich jetzt die externe Seite aufrufe, erwarte ich eigentlich, dass der Inhalt "Hallo 123" ausgegeben wird. Stattdessen bekomme ich eine weiße Seite.

Wo ist mein Fehler?

Danke und Gruß
ravel