Laden...
R
ravel
myCSharp.de - Member
76
Themen
169
Beiträge
Letzte Aktivität
vor 3 Jahren
Dabei seit
28.09.2007
Erstellt vor 10 Jahren

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

Erstellt vor 10 Jahren

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

Erstellt vor 12 Jahren

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

Erstellt vor 12 Jahren

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!

Erstellt vor 12 Jahren

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?

Erstellt vor 12 Jahren

Hi,

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

ravel

Erstellt vor 12 Jahren

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?

Erstellt vor 12 Jahren

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?

10 von 169 Beiträgen