Laden...

Forenbeiträge von The_Mexican Ingesamt 87 Beiträge

26.08.2009 - 15:46 Uhr

hi,

ich hab das problem jetzt anderst gelöst. obs eleganter ist, weiß ich nicht aber es funktioniert 😉

hab einen job erstellt

windows->Ausführen->"tasks"

hab diesem die entsprechende .exe übergeben und ihn so konfiguriert, dass er den job beim systemstart ausführen soll.

das wars auch schon. funktioniert prima und geht ziemlich einfach.

wäre jetzt natürlich noch interessant zu wissen was pro win-service wäre bzw. die pro´s und con´s abwägen 😉

greets
mex

26.08.2009 - 11:09 Uhr

habe folgende befehle bzw. schritte ausgeführt

// erstellt den dienst und weist die werte zu über cmd:
instsrv.exe [Dienstname] [Pfad zur Anwendung] [Name].exe

// bearbeite den in der REGISTRY erstellen Service:
cmd:
regedit.exe

path:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services[Name des Dienstes]

Doing:
Unterschlüssel erstellen und Pfad/ Ort incl. der auszuführenden .exe angeben bei Wert eines Schlüssels

so habe ich das gemacht!

der dienst erscheint auch in den Diensten und hat alle infos die er eigentlich braucht (zumindest erkenne ich nichts, was fehlt) hab den neustart auch schon gemacht.

hab aber vlt noch ne info; in der ereignisanzeige ist noch ein error zu dem starten des diensts:

Quelle Service Control Manager
Ereigniskennung: 7009
Beschreibung:
Zeitüberschreitung (30000 ms) beim Verbindungsversuch mit Dienst [Name des Diensts]

26.08.2009 - 10:42 Uhr

hi,

erwartet die Startmethode einen rückmeldung? (kenn mich hier nicht wirlich gut aus)
--> Blöde frage von mir, da ich den dienst nicht selbst implementiert habe, hab ich auch keine ahnung wie die OnStart bzw. Start-Methode aussieht.

in der start methode soll nur eine .exe ausgeführt werden.

ich habe den dienst nicht implementiert, ich hab ihn wie in dem link beschrieben erstellt:

http://www.serverhowto.de/Applikationen-als-Dienste-einrichten.228.0.html

greets
mex

26.08.2009 - 10:22 Uhr

hallo norman_timo,

dienst verfügt über start/ stop-methode die exe selber hat die normalen windowsevents (hide| minimize| close)

.exe ist nicht meine eigene

ich versuch mal deinen tip zu untersuchen + noch etwas, was mir eingefallen ist. problem ist, die fehlermeldung die in Verwaltung auftaucht - ist auch nicht sehr informativ und auch nicht wenn man sie googelt 😦

bis gleich
greets
mex

26.08.2009 - 09:04 Uhr

Das Problem war:

das ausleslen und das hinzufügen der informationen in die liste findet in zwei verschiedenen klassen statt. nachdem Klasse A die Methode Add in Klasse B aufgerufen hatte (übergabeparameter war der tmp ReportingService) wurden die werte der Credentials in Klasse A wieder auf "null" gesetzt. Nach meinem Verständnis ist dies der grund warum die listenelemente keine werte mehr für den reporting service hatten

da das übergebene objekt (in der liste anschließend enthalten) anschließend editiert wurde (die credentials) (intern verhält sich das wohl so, das eine art Verweis oder zeiger auf das listenelement schaut) und somit die werte löscht.

dummer fehler, hab das setzten der credentials auf null, entfernt und nun funktioniert alles tip top.

greets:

26.08.2009 - 08:58 Uhr

hi,

ich habe einen Dienst in die Registry eingefügt, der eine .exe anwendung starten soll. hat alles prima funktioniert. wenn ich den dienst starten will bringt er mir aber folgende Fehlermeldung

Fehler 1053: Der Dienst antwortet nicht rechzeitig auf die Start- oder Steuerungsanforderung

ich arbeit mit WindowsXP prof.
hat jemand ne idee wie ich dieses problem lösen kann?

greets mex

21.08.2009 - 11:41 Uhr

hola,

ich habe ein problem mit einer asp.net anwendung das wie folgt aussieht:

  1. Angabe folgender Daten in einer Webform: user, pwd, domain

  2. validierung mit temporärem reportservice2005 ob diese Daten zugriff auf den Report server bieten

  3. validierung war erfolgreich (mit den infos kann auf den Reportserver zugegriffen werden). Einer static List (Datentyp struct (sting x, string y, ReportService2005f rs) Listenelement hinzufügen u.a. Listenelement.rs = tmpReportingService2005.

  4. Listenelement wurde erfolgreich hinzugefügt, Listenelement beinhaltet alle informationen incl. das RS objekt (username, pwd, credentials)

  5. weiterleitung auf weitere webform

  6. Prüfe listenelemente: das gerade hinzugefügte listenelement ist vorhanden, entählt die werte der beiden strings (x, y) dass rs objekt ist ebenfalls vorhanden, bestitzt jedoch keine Werte mehr der Credentials -> name="", pwd="", domain=""

kann mir jemand dieses verhalten erklären????

thx im voraus,
greets
mex

p.s.: ich hoffe ich bin hier auch im richtigen forum weil webforms ja auch mit dabei sind... aber es dreht sich ja eigentlich um ReportingServies!???

20.08.2009 - 11:23 Uhr

Affengeil!!

Funktioniert!

danke an alle - hab das mit den deleagten zwar noch nicht komplett verinnerlicht aber das werd ich jetzt tun.

wie gesagt, danke für die hilfe...

greets
mex

20.08.2009 - 10:58 Uhr

hallo david,

jetzt versteh ich dein bsp. wenn ichs richtig verstanden habe s.h. post von JAck30lena dann ist das nur mit .net 3.x möglich ich arbeite mit .net 2.0

greets
mex

20.08.2009 - 10:27 Uhr

hey herbivore,

kleine frage zum verständnis

delegate (Datatype dt) { return dt.id == incomingID; }  

die delegate dt würde ein abbild der aktuell gefüllten liste enthalten, richtig???

ich blicks noch nicht ganz mit delegaten deswegen frag ich vmtl etwas doof...

greets
mex

20.08.2009 - 10:22 Uhr

@ Herbivore
k, ich versuchs danke für den hinweis

@ David,

danke für die antwort leider haben wir uns missverstanden 😦

meine Liste enthält elemente eines selbst definierten datentyps (string id, string name, ...)

string id ist dabei eindeutig (DBverwaltung entfällt übrigens)

in der aufrufenden methode GetIndexOfElement(string incomingID) geht es darum, den Index eines Listenelements zu ermitteln FindIndex(Prdicate)

In der "Predicate-Methode" wird nun aktuellesListenelement.id mit der incomingID verglichen (String.Equals(Listenelement.id, incomingID) und liefert true/ false zurück.

bei true wird in GetIndexOfElement tmpIndex mit dem Index des Elements in der Liste versehen.

hoffe ich habs jetzt besser hinbekommen mein problem zu schildern?!

greets
alex

20.08.2009 - 10:08 Uhr

Hey,

mein problem ist es, wie ich den index eines listenelements finden kann. soweit ganz einfach, mein problem ist, dass ich ne liste mit einem selbst definierten datentyp habe:


struct Datatype
{
   string id,
   string name,
   ...
}

List<Datatype> blub = new List<Datatype>();

...
// Der liste werden Elemente hinzugefügt
...

// Suche Index
public int GetIndexOfElement(string incomingID)
{
   int tmpReturn;
   tmpReturn = blub.FindIndex( /* Predicate */);
   return tmpReturn;
}

// Sinngemäß die Suche im Predicate:
private bool Predicate(datatype blub, string incomingSession)
{
  return String.Equals(blub.id[an der aktuellen stelle], incomingSession);
}

incomingID dabei als Klassenvariable verwenden entfällt!!

Ich steh einfach gerade aufm schlauch wie ich das Predicte realisiere bzw. die Methode deklarieren soll.

für hilfe wäre natürlich dankbar 😉

greets
mex

05.08.2009 - 14:33 Uhr

weiß jemand wie das geht? ich werd hier gleich verrückt.

ich möchte aus einer webanwendung heraus ermittlen ob ein user auf einem entfernten rechner ein benutzerkonto hat.

user hat auf computer
name: 123_ich

Benutzerkonto:
Fritz

In der Webanwendung möchte ich jetzt mittels des vom user eingegebenen Benutzerkonto und Computername überprüfen ob dieses konto ( in dem Fall Fritz auf Computer 123_ich) auf dem computer existiert.

mfg
mex

05.08.2009 - 13:11 Uhr

vlt kannst du auch über nen service den user anmelden und entsprechend den berechtigungen die er besitzt das gewünschte menü anzeigen lassen.

ob es funktioniert - ka, aber vlt ein denkanstoß.

greets
mex

p.s.: ich bin gerade auf etwas gestoßen, vlt steht was drin was dir weiterhelfen kann:
http://documents.iss.net/whitepapers/asp_net_whitepaper.pdf

05.08.2009 - 12:58 Uhr

auch versucht und ebenfalls erfolglos

05.08.2009 - 11:53 Uhr

es gibt nicht die möglichkeit (intelisense) ws.Credentials.Domain/ UserName/ Passwword anzugeben.

ich denke das hat was mit der sicherheit zu tun. aber denken ist eben nicht wissen 😦

es ist ja auch gut das es nicht so einfach geht - sicherheitsaspekt - aber mich würde eben interessieren warum das so ist, wie es gelöst ist, etc. damit ich das verständnis dafür habe!

05.08.2009 - 10:24 Uhr

du meinst in etwa sowas??



ws.Credentials.Domain
ws.Credentials.User


falls ja, das funktioniert nicht!

mfg
mex

05.08.2009 - 10:14 Uhr

hey,

ich habe einen WebService ws und fülle seine Credential-Eigenschaft bsp:



ReportService.ReportingService2005 ws;

System.Net.NetworkCredential myCredential = new System.Net.NetworkCredential("", "", "");
myCredential.Domain = "xxx";
myCredential.UserName = "user";
myCredential.Password = "userpwd";

ws.Credentials = myCredential;


meine Frage:
Wie kann ich zu einem späteren zeitpunkt die infos "Domain", "UserName" und "Password" aus dem WebService ws auslesen bzw. darauf zugreifen? hat jemand ne idee???

greets
mex

31.07.2009 - 09:34 Uhr

alles klar, hat funktioniert, thx

28.07.2009 - 15:25 Uhr

hallo,

kann mir vlt jemand helfen, ich versuche innerhalb einer Webform eine Url aufzurufen und die seite in der gleichen Webform anzuzeigen. Hat jemand ne idee nen Vorschlag, etc wie das zu realisieren ist?

greets
mex

01.07.2009 - 10:35 Uhr

Wie gesagt, ohne dein akt. Query kann man nicht viel helfen.

so, aber jetzt.... s.h. oben... war mit dem kopf anscheinend woanderst

akt. query s.h. oben

01.07.2009 - 09:17 Uhr

so die zweite möglichkeit mit dem rowcount ausprobiert.

die view funktioniert,
das select funktioniert,

ABER:
das Ergebnis das angezeigt werden soll bleibt aus. die query wird erfolgreich ausgeführt, aber es erscheint kein inhalt

hmmm,
das hab ich wohl auch verzockt. dennoch danke 😦

und jetzt auf zu versuch drei

saludos

ps: fehlermeldung hab ich gepostet

01.07.2009 - 08:07 Uhr

moin,

danke für die antworten 😉
die erste mit der subquery hab ich versucht - und ich muss leider sagen, ich hab es nicht zum laufen gebracht.


select t1.PrimaryKey, t1.IDName, t1.IDOrt, t1.datCreated,
	(select DATEDIFF(day, t2.datCreated, MAX(t1.datCreated))
	from tbl... AS t2
	where t1.datCreated < t2.datCreated)
	AS DauerAufenthalt
from tbl... AS t1
where t1.IDName LIKE 'XX'
ORDER BY t1.datCreated;

Msg 8120, Level 16, State 1, Line 1
Column 'tblxxx.PrimaryKey' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

das ein ausschnitt aus der fehlermeldung 😉

ich werde mich jetzt an dem nächsten vorschlag versuchen

  • über nacht ist mir noch was eingefallen... aber keine sorge, ich komm wieder keine frage 😉

salduos mex

30.06.2009 - 17:10 Uhr

verwendetes Datenbanksystem: SQL Server 2005

Hi,
habe folgendes select mit dem zugehörigen output:


SELECT *
FROM tbl
WHERE IDName LIKE 'XX'
ORDER BY datCreated;

______________________________________________________________________________________
PrimaryKey|IDName|IDOrt|datCreated             |Dauer des Aufenthalts                 |
__________|______|_____|_______________________|______________________________________|
000001    |XX    |A    |2000-01-01 13:56:42.000|datCreated 000001 - datCreated 000002 |
000002    |XX    |B    |2000-02-16 08:13:15.000|datCreated 000002 - datCreated 000003 |	
000003    |XX    |C    |2000-03-18 14:13:58.000|datCreated 000003 - datCreated 000004 |	
000004    |XX    |A    |2000-04-22 12:33:17.000|????                                  |	

meine frage bezieht sich auf das erstellen des Ergebnisses der Spalte "Dauer des Aufenthalts"

kann mir jemand auf die sprünge geben oder einen ansatz (muss nicht gleich die komplette lösung sein) wie ich das entsprechende ergebnis von
datum aktueller datensatz - datum direkter nachfolger datensatz
erhalte?

ich weiß es gibt die DATEDIFF() Funktion aber mein problem ist es, beim endwert den direkten nachfolger zu bekommen.

wie gesagt es muss keine komplette lösung sein 😉 ein hinweis oder denkanstoss tut auch gut 😉

saludos
mex

30.06.2009 - 10:15 Uhr

so,

danke erstmal für die hilfe und entschuldigt die formulierung der frage, ist (zumindest geht es mir so) nicht immer ganz einfach sowas in einfache worte zu fassen (hoffe damit bin ich nicht allein 😉

hier meine lösung (die auch funktioniert 😉


select * 
from tbl...
where IDOrt like '...'
and datum IN (	select max(datum)
		from tbl...
		group by strIDName);

für weitere anregungen oder fragen, bin ich natürlich immer offen

danke nochmal für die schnellen posts
saludos
mex

30.06.2009 - 09:23 Uhr

ich suche etwas in der art:

select IDName
from tbl...
where datum = aktuellste
and ort = xy

so verständlicher?

now bezieht sich doch auf den aktuellen zeiptunkt. problem, wenn ein datensatz bereits seit einer woche an einem ort ist - dann ist now doch nicht richtig eingesetzt. oder?

30.06.2009 - 09:06 Uhr

verwendetes Datenbanksystem: microsoft sql server 2005

hi,

Ausgangssitutation:
eine Tabelle, welche mehrere Datenstätze enthält. ein Datenstatz hat dabei eine eigene ID (foreign key) und kann an mehrereren Orten (foreing key) auftauchen, jedoch nie zu einem Zeitpunkt an zwei orten gleichzeitig. Jeder Datensatz besitzt ein Datum (dd/mm/yyyy/ hh:mm/ss), welches bestimmt zu welcher zeit es an dem ort eingegangen ist.

bsp.

IDName | IDOrt | datCreated

N1 | O1 | 01.01.2009
N1 | O2 | 01.04.2009
N2 | O3 | 01.02.2009
N1 | O4 | 01.06.2009
N2 | O2 | 01.03.2009

Gesucht:
ein select, welches mir die Informationen zurückgibt, welcher Name sich zum aktuellen Zeitpunkt x an einem Ort o befindet

bsp.
SELCECT *
FROM tbl...
WHERE IDOrt = ##
AND IDName sich zum aktuellen zeitpunkt befindet

Ergebnis:

IDName | IDOrt | datCreated

N1 | O1 | 01.06.2009
N2 | O2 | 01.03.2009

hat irgendjemand ne idee oder nen anstatz wie man das realisieren kann?

greets
mex

10.06.2009 - 10:53 Uhr

sers,

danke für die flotte antwort 😉....
bin im moment auch drauf gekommen... und es funktioniert... wie gesagt, danke

greets
mex

10.06.2009 - 10:28 Uhr

hey,

ich habe eine comboBox die als datasource ein dataSet besitzt.
ich möchte nun die Attribute item und valueMember befüllen und zwar anhand der Daten der dataTable des dataSets.

funktioniert aber nicht,
weiß jemand an was es liegt?

hier ein bsp.Code wie ich es zu lösen versucht habe:


void blub (DataSet ds)
{
   comboBox.DataSource = ds;
   comboBox.DisplayMemmber = ds.Tables[0].Columns[0].ToString();
   comboBox.ValueMember = ds.Tables[0].Columns[1].ToString();
}

für infos bez. des probs wäre ich dankbar

greets
mex

29.04.2009 - 16:17 Uhr

hier liegt das problem:

... selbst wenn ich die Exception abfange und zwar mit IOException (normale Exception - Exception ex bspw. - funktioniert nicht) beendet sich meine Anwendung...

egal welche ex ich fange, die anwendung beendet sich!!!!!

29.04.2009 - 08:57 Uhr

damit ich das jetzt endgültig richtig verstanden habe, es kennt niemand einen Lösungsansatz bzgl. des Exception Handlings um dieses Problem in den Griff zu bekommen!?

29.04.2009 - 07:40 Uhr

und wenn das nicht möglich ist, da das angeschlossene zu verwendende Gerät nur mit USB-Anschluss erhältlich ist!

28.04.2009 - 18:01 Uhr

hey,

ich bekomme die gleiche Fehlermeldung, PLUS selbst wenn ich die Exception abfange und zwar mit IOException (normale Exception - Exception ex bspw. - funktioniert nicht) beendet sich meine Anwendung. Vlt. hat in der Zwischenzeit ja jemand ne lösung gefunden???

mfg
mex

28.04.2009 - 17:56 Uhr

hey,

sry für die späte antwort, ich möchte das thema nur noch schnell zu ende bringen. Das geschilderte Problem (so vermute ich) wurde durch die selbst eingebaute Threadsicherheit erzeugt. nachdem ich alle Bereiche zur Threadsicherheit entfernt habe, lief die Anwndung ohne probleme - ich schließe daraus (ohne Gewähr) dass das Framework bereits Multithreading-fähig ist bzw. diese Dinge selbst managt.

Warum ich mir so sicher bin, dass die anwendung ohne probleme läuft - ich habe sie einem Last- und Stresstest unterzogen. dabei gab es keinerlei probleme bezüglich multithreading.

mfg
mex

26.02.2009 - 09:56 Uhr

das PinChanged-Event können wir ausschließen, habe bereits mit einem tool das Vorgänge auf com-ports protokolliert erfolgreich getestet, dass der port auch tatsächlich geöffnet wird.

Tool: HDD Free Serial Port Monitor

25.02.2009 - 19:46 Uhr

sers LuckyGeorge,

danke für die antwort. die semaphore (so dachte ich zumindest) regelt dass jeweils nur ein thread eine bestimmte aktion durchführt. ist ein thread in der semaphore kann ein weiterer Thread erst dann die aktion ausführen (Find() und Open()) wenn der erste Thread diese verlassen hat. zumindest habe ich es so definiert.

das seltsame ist, (habe ich heute mittag festgestellt) befindet sich ein thread in der semaphore ist port.IsOpen auf true gesetzt. verlässt der Thread die semaphore, ist port.IsOpen "false".

PinChanged-Event sagt mir gerade nichts, aber ich werde es mir gleich morgen anschauen (leider habe ich heute keine gelegenheit mehr).

Danke für die antwort und den denkansatz. falls dir vlt. noch was einfällt, wäre ich natürlich dankbar 😉.

schönen abend noch,
greets mex

25.02.2009 - 11:00 Uhr

Hey,
ich habe ein problem bzgl. dem feststellen ob ein SerialPort geöffnet ist.

Sachverhalt:
ich habe zwei Klassen, Class A und Class B.

Class A:
enthält den Ablauf das ein freier Port gefunden, geöffnet und anschließend daran mit dem Port gearbeitet werden soll. (dieser Ablauf ist in einer Methode implementiert welche einem Thread zugeordnet ist).

Class B:
enthält das Wissen/ Funktionalität einen freien Port zu finden und zu öffnen.
Es gibt eine Menge x an definierten Ports mit denen gearbeitet werden soll (ist in .config angegeben und wird von dort ausgelesen).

Ablauf:
Class A:
besitzt eine Semaphore, welche verhindert, dass sich mehrere Threads bei der Wahl ihres Ports in die Quere kommen.
während sich ein Thread in der Semaphore befindet wird die Methode Find() aus Class B aufgerufen.
Class B - Find():
enthält die definierten ports aus .config und ermittelt alle verfügbaren Ports auf dem lokalen Computer - GetPortNames() (beide informationen werden in seperaten variablen gehalten). Im ersten Schritt wird in Find() überprüft ob ein in .config definierter Port auf dem lokalen Computer vorhanden ist. Im zweiten Schritt prüft Find() ob der definierte Port, welcher auf dem lokalen Computer auch vorhanden ist bereits geöffnet ist - IsOpen-Property. Ist der Port noch nicht geöffnet wird der Port initialisiert (Parity, BaudRate, ....).
Class A wird über den erfolg oder nicht erfolg des Vorgangs informiert. Im Falle des Erfolgs, veranlasst Class A im nächsten Schritt mit dem Initialisierten Object von Class B das öffnen des Ports. (Methode in Class B, welche SerialPort.Open() )
Ist auch das öffnen des Ports erfolgreich wird die Semaphore verlassen (das geschieht übrigens auch im Fehlerfall, dass die Semaphore frei wird). Der nächste Thread sucht sich seine Serielle Schnittstelle - wiederholung des beschriebenen Ablaufs.

Problem:
wurde ein Port durch den ersten Thread geöffnet wird er dem zweiten Thread WIEDER als verfügbar und noch nicht geöffnet angezeigt. das wiederum führt dann beim versuch diesen Port zu öffnen ( Class B - SerialPort.Open(); ) erst zu einer Exception.

Frage:
welche Möglichkeit(en) habe ich außer "IsOpen" festzustellen das ein SerialPort bereits geöffnet ist???

mfg
the_mexican