Laden...

Forenbeiträge von Pico1184 Ingesamt 223 Beiträge

12.06.2011 - 12:27 Uhr

Safari on iPhone plays audio and video in webpages in fullscreen playback mode only.

Das ist ja so nicht richtig! In meinem Beispiel spielt das iphone beim anklicken des Links den Sound auch nativ d.h. ohne öffnen des Players im Fullscreen.

Ich möchte nur gerne verstehen warum es funktioniert wenn der Link durch einen Benutzer angeklickt wird, wenn ich den sound aber durch javascript d.h. durch aufrufen der play_single_sound Funktion durch ein anderes Skript durchführe nicht funktioniert.

Wie kann der Unterschied erkannt werden ob die Funktion vom Benutzer, durch ein Button Click Event aufgerufen wird oder durch eine andere Funktion??? Das ist mir ein Rätsel!!!

Grüße Pico

10.06.2011 - 20:46 Uhr

Hi,

ich habe für die Industrie eine Web Anwendung unter jquery entwickelt, welche mit einem .net WCF Webservice kommuniziert. Diese Webanwendung soll auch auf einem iphone / ipad laufen, da die Instandhalter dieser Firma von meinem Webservice Fehlermeldungen der Anlagen auf das iphone übermittelt bekommen.

Dies funktioniert auch alles prima, d.h. die Meldungen werden angezeigt alles soweit gut.
Nun möchte der Kunde allerdings, dass ein Ton abgespielt wird wenn so eine Meldung auftritt.

Dass es möglich ist unter dem iphone eine eingebette mp3 abzupielen hab ich schon herausgefunden, Stichwort HTML 5 Audio Tag.

Das ganze funktioniert auch, wenn ich im Safari mobile einen link play sound anklicke....wenn ich allerdings diesen sound automatisch ohne eingabe eines Benutzers spielen will funktionierts das nicht!

Hat da jemand ne Idee von euch? Hier mal ein Beispiel:


<!DOCTYPE HTML>

<html>

<head>
<script type="text/javascript">
function play_single_sound() {
document.getElementById('audiotag').play();
}

window.onload = play_single_sound;
</script>
</head>

<body>

<!--embedded audio-->
<div id="audio">
<audio id="audiotag" src="beep-5.mp3" autobuffer="autobuffer"></audio>
</div>
<!--/embedded audio-->

<!--button/link-->
<a href="javascript:play_single_sound();">Play audio</a>
<!--/button/link-->

</body>

</html>

Also beim klick auf Play Audio funktionierts....beim aufruf durch window.onload allerdings nicht!!!!

Grüße Pico

16.05.2011 - 16:53 Uhr

Hi Maximilian,

wollte mir gerade deine neuste Version des UpdateSystem von deiner Webseite downloaden.
Leider schlug sofort mein Virenscanner (Norton 360°) zu und meldet mir "Insight Netzwerk Bedrohung", die exe wird dann sofort automatisch gelöscht!

Weißt du an was das liegen kann? Könnte ja ne Ausnahme für die exe hinzufügen aber wollte zuerst mal den Grund für diese Meldung wissen...

Dankeschön

Grüße Pico

12.05.2011 - 18:04 Uhr

meines Erachtens sind Client und Server eigenständige Anwendungen, die miteinander über eine Schnittstelle kommunizieren

Dieser Meinung bin ich eigentlich auch. Und da das GPL Control eh nur inirekt mit dem Server zu tun hat sowieso. Wär ja der hammer wenn ich wegen so nem kleinen Control gleich meine komplette Anwendungen offen legen müsste.

Ich frag das ganze weil eine Firma mein System mit mir weiter entwickeln möchte und dann auch an Kunden vertreiben möchte.

Der Client kann ja eh offen gelegt werden, da die Webseiten auf einem Server beim Kunden liegen und dieser dann sowieso den Quellcode sehen kann.

Es wäre nur fatal für mich gewesen wenn ich das komplette System als open source verfügbar machen müsste, dann wäre meine Zusammenarbeit mit dieser Firma leider gescheitert.

Notfalls hätte man dieses Control auch noch selbst entwickeln können!

Grüße Pico

12.05.2011 - 10:44 Uhr

Hallo zusammen,

ich hätte mal ne Frage zur GPL. Habe die Forumssuche schon benutzt und auch eininge Interessante Artikel dazu gefunden.

Eine Frage stellt sich bei mir aber noch:

Meine Software besteht aus mehreren Anwendungen z.B. eine Datenverwaltungsanwendung, einem Windows Dienst, einem Web Service und aus Client (Web) Systemen.

In der Webclientanwendung nutze ich ein jquery Grid welches unter der GPL steht.
Alle anderen Anwendungen wurden von mir selbst entwickelt und sind closed source.

Das jquery grid kommuniziert inderekt mit meinem webservice. Nun ist meine Frage, ob ich nur weil ich im client eine Komponente nutze welche unter der GPL steht meine kompletten Anwendungen unter die GPL stellen muss und alle Quellcodes weitergeben muss??

Oder müsste ich in diesem Fall nur die Client Komponenten unter die GPL stellen?

So wie ich das durch die Artikel und googel verstanden habe würde das ja reichen?!

Grüße Pico

05.05.2011 - 21:42 Uhr

Hab grad gelesen das man die Timeouts über:


netTcpBinding.RecieveTimeout = TimeSpan.MaxValue;
netTcpBinding.SendTimeout = TimeSpan.MaxValue;

abschalten kann! Macht dies Sinn?

Grüße Pico

05.05.2011 - 21:19 Uhr

Weiß zwar nicht ob man das so realisiert, da gibts bestimmt noch andere Möglichkeiten,
aber hier findest du eine C# FTP Lib die dir dabei hilfreich sein sollte.

Grüße Pico

EDIT: Oh hab grad gesehn, dass die ziemlich veraltet ist, nimm lieber die auf codeplex!
bzw. hätte dir auch dieses geholfen!

Grüße Pico

05.05.2011 - 21:13 Uhr

Hallo,

ich habe mal testweise ein kleines Publisher/Subscriber Modell unter WCF mit NetTcpBinding zusammengebastelt.

Folgendes Szenario:

Form Subscriber ---- Dienst Server ---- Form Publisher

nun gut das läuft auch alles soweit. Wenn nun aber die Pub und die Sub App ne Weile im "Leerlauf" sind, d.h. keine Daten über den Server geschickt werden greifen nach 10 min die Default Timeouts.

Nun sind bei mir 2 Fragen aufgetaucht:

  1. Welche Timeouts muss ich erhöhen? Auf der Server bzw. auf der Clienseite oder bei beiden?
    Es betrifft denke ich mal nur die Recieve und Send Timeouts...die open und close denk ich nicht!

  2. Was ist wenn diese Applikationen z.B: beim Kunden laufen und diese dort dann möglicherweise auf unbestimmte Zeit geöffnet sind z.B. über eine woche oder länger..(wenn was protokolliert werden soll) d.h. der Zeitrahmen des Timeouts ist undefiniert! Kann man den Timeout abschalten??

Oder wäre es besser auf ein anderes Binding umzusteigen??

Grüße Pico

18.04.2011 - 13:39 Uhr

Du kannst einen laufenden Dienst auch debuggen. Einfach in VisualStudio unter Debuggen - An den Prozess anhängen und dann deinen entsprechenden Prozess auswählen.

Vielleicht kannst du so genaueres sehn....Exception etc.

Grüße Pico

07.04.2011 - 16:01 Uhr

Du solltest die combobox auch noch einer "form" zufügen.

Siehe hier: ComboBox-Klasse

Grüße Pico

03.04.2011 - 19:57 Uhr

Sowas ist doch normalerweise bei jedem Webhoster dabei?!

Grüße Pico

03.04.2011 - 19:55 Uhr

Kann es sein, dass nur eine registriete exe in der dcomcnfg angezeigt wird und dlls dort gar nicht anzufinden sind?

Grüße Pico

03.04.2011 - 15:53 Uhr

Hallo,

habe nach kurzer Suche im Netz ein Übungsbuch für C# mit Lösungsbuch für 15,90€ gefunden.
Weiß allerdings nicht welche Qualität es hat und für welche Frameworkversion es ist.

Aber es trifft schon mal auf das zu was du suchst.....Übungen für C#!

Du findest es hier: Redmond Übungsbuch C#

Grüße Pico

02.04.2011 - 23:33 Uhr

Hat sich erledigt, hab die Größe anhand des Canvas festgelegt........

01.04.2011 - 16:20 Uhr

Hi,

ich habe ein Problem beim ausrichten eines Images in einem Canvas welches in einer Viewbox ist.
Der Grund warum ich hier ein Canvas verwende ist der, dass ich verschiedene Elemente (DropTargets) auf dem Image an bestimmten Positionen fix platzieren möchte!

Ich hätte es gerne, dass sich das Image komplett über die ViewBox ausbreitet aber seine Seitenverhältnisse beibehält (UniformToFill)!
Da ich dem Canvas aber eine absolute Größe geben muss funktioniert das leider nicht!

Hatt jemand ne Idee wie man sowas noch lösen könnte??

Beispiel:


<Viewbox Name="viewbox" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Stretch="UniformToFill">
<Canvas MinWidth="1000" Height="1000">
<Image Source="/Blitzplaner;component/Images/Flipchart Wohnhaus.jpg"></Image>
<dragdrop:DropTarget Name="Target1" Width="70" Height="70" Canvas.Left="350" Canvas.Top="270"></dragdrop:DropTarget>
...
</Canvas>
</ViewBox>

Grüße Pico

01.04.2011 - 12:46 Uhr

He he und ich fall noch drauf rein ;o))) echt super verarscht....klasse!

01.04.2011 - 12:43 Uhr

Heute werden 60.000 Punkte zum Abbauen des Punktestands in Flensburg für den Führerschein verlost! 😃

April April ;o)

Ich denke wenn es so läuft wie die mods sich das vorstellen, kann es nur zum besten für alle hier im Forum dienen. Vielleicht muss man mal etwas länger auf einen Beitrag warten, aber die Qualität der Antworten werden sich steigern.

Ein negativer Punkt ist meiner Meinung nach aber, wie hier schon angesprochen, dass eventl. Neulinge des Forums durch dass Sperren oder Schließen der Beiträge abgeschreckt werden und sich vielleicht hier für das Forum nicht mehr anmelden und die Mitgliederzahlen für mycsharp.de sinken ;o(!

Aber warten wirs mal ab, hört sich schon positiv an!

Grüße Pico

01.04.2011 - 12:05 Uhr

Hallo,

ich nutze in meinem Projekt eine .net Assembly eines Drittanbieters. Diese Assembly ist ein wrapper einer C++ dll welche DCOM Verbindungen zu anderen Systemen (OPC Servern) über DCOM aufbaut.

Nun möchte ich für meine Anwendung ein Setup erstellen. Dazu müssen für die DCOM Verbindungen verschiedene Rechte gesetzt werden. Mir ist aber nicht ganz klar wie man diese assemblies registriert.

Muss ich meine .net dll, die wrapper dll oder die c++ dll registrien? Und wenn ja wir funktioniert das? Gibt es da bestimmte Tools dafür? Habs mal mit regasm.exe probiert, da werden die Einträge zwar unter HKEY_CLASSES_ROOT eingetragen aber in der dcomcng sind sie nicht zu sehen?!

Vielleicht hat ja von euch jemand einen Tipp!

Grüße Pico

31.03.2011 - 23:20 Uhr

Passt! Dankeschön hat so wunderbar funktioniert!

Grüße Pico

31.03.2011 - 19:39 Uhr

Habs jetzt über ein ManualResetEvent gelöst:


private ManualResetEvent _resetEvent = new ManualResetEvent(false);
private readonly List<string> _loadingMessage = new List<string>{"Loading data..."};

public List<string> LoadingMessage
{
get { return _loadingMessage; }
}

public List<string> Servers
{
get
{
ListServers();
_resetEvent.WaitOne();
return _servers;
}
}
private List<string> _servers;

private void ListServers()
{
Thread thread = new Thread(ListServersThread)
{
CurrentUICulture = Thread.CurrentThread.CurrentUICulture
};
thread.Start();
}

private void ListServersThread()
{
DbBrowser browser = new DbBrowser();
_servers = browser.EnumerateSqlServers();
_resetEvent.Set();
}


Ist das deiner Meinung nach so machbar?

Und eine Frage hätte ich noch, wenn vom Text "Loading data.." auf die eigentliche Daten "umgeschalten" wird verliert die ComboBox den SelectedIndex = 0. Wie könnte ich diesen für dieses Binding wieder setzen???

Danke für deine Hilfe!

Grüße Pico

31.03.2011 - 18:25 Uhr

Gut das hätte ich jetzt verstanden (blöd wenn man die Doku nicht liest):


<ComboBox x:Name="cmbServer" SelectedIndex="0" Grid.Column="1" Grid.Row="1" Width="150" HorizontalAlignment="Left" VerticalAlignment="Center">
<ComboBox.ItemsSource>
<PriorityBinding>
<Binding ElementName="LayoutRoot" Path="DataContext.Servers" IsAsync="True"/>
<Binding ElementName="LayoutRoot" Path="DataContext.LoadingMessage"/>
</PriorityBinding>
</ComboBox.ItemsSource>
</ComboBox>


private readonly List<string> _loadingMessage = new List<string>{"Loading data..."};

public List<string> Servers
{
get { return ListServers(); }
}

public List<string> LoadingMessage
{
get { return _loadingMessage; }
}

so weit so gut....aber die ListServers Methode beinhaltet einen Aufruf um die lokalen SQL Server Instanzen aufzulisten (über SMO) welcher sehr lange dauert. Diese Methode läuft eigentlich in einem anderen Thread, nun ist das Problem die Rückgabe..wie könnte man es lösen aus einem anderen Thread diese Daten an den getter zurückzugeben???????

Grüße Pico

31.03.2011 - 16:20 Uhr

Okay ich habs jetzt mit PriorityBinding probiert:


<ComboBox x:Name="cmbServer" SelectedIndex="0" Grid.Column="1" Grid.Row="1" Width="150" HorizontalAlignment="Left" VerticalAlignment="Center">
<ComboBox.ItemsSource>
<PriorityBinding>
<Binding ElementName="LayoutRoot" Path="DataContext.Servers" IsAsync="True"/>
<Binding ElementName="LayoutRoot" Path="DataContext.LoadingMessage"/>
</PriorityBinding>
</ComboBox.ItemsSource>
</ComboBox>


private readonly List<string> _loadingMessage = new List<string>{"Loading data..."};

public List<string> Servers
{
get { return _servers; }
set
{
_servers = value;
RaisePropertyChanged("Servers";);
}
}

public List<string> LoadingMessage
{
get { return _loadingMessage; }
}

Problem ist jetzt, dass der Loading data Text nicht angezeigt wird, d.h. die ComboBox ist am Anfang leer wird dann aber sobald die Daten mit höchster Priorität verfügbar sind mit diesen gefüllt.

Aber warum wird dieser blöde Text nicht angezeigt und warum wird SelectedIndex="0" igonoriert??

Grüße Pico

31.03.2011 - 12:43 Uhr

Warum willst du die Daten denn genau zu diesem Zeitpunkt laden?

Hatte eigentlich gedacht, dass ich diese Daten zuerst lade wenn diese auch benötigt werden!Hatte es aber auch schon anders probiert....hatte die Daten sofort beim instanzieren meines ViewModels an eine List<string> geladen und diese Liste dann über DataBinding an die ComboBox gebunden. Das Problem war da nur wenn die Combobox geöffnet wurde bevor die Daten da waren,wurde sie danch nicht mehr befüllt! Woran kann das dann liegen?Beispiel:


<ComboBox ItemsSource={Binding Servers} SelectedIndex="0"></ComboBox>


public List<string> Servers
{
get {return _servers;}
set
{
_servers = value;
RaisePropertyChanged("Servers");
}
}

Wie löst man es, wenn das window geladen ist, die Datenabfrage aber noch länger dauert,
dass der User nicht vor einer leeren ComboBox sitzt?

Grüße Pico

30.03.2011 - 23:22 Uhr

Hallo,

ich möchte gerne wenn eine Combobox geklickt wird Daten aus einer DB laden. D.h. ich fange das DropDownOpened Event ab und lade meine Daten in einem eigenen Thread.
Alles schön und gut...aber wie bekomme ich es hin dass ich das Aufklappen der Combobox zuersts verhindere und wenn die Daten vollständig geladen sind soll sie erst aufklappen.

Das mit dem Aufklappen verhindern bekomm ich über die IsDropDownOpen = false Property hin...
wenn ich diese dann aber auf true setzen will funktioniert das nicht, d.h. die Property bleibt immer auf false.

Wie könnte ich es lösen die ComboBox "manuell" aufzuklappen?

Grüße Pico

28.03.2011 - 20:05 Uhr

Schau dir mal dieses Projekt an, vielleicht ist das was für dich:

Laharsub: a message server

Ist ein WCF Publisher-Subscriber Modell welches für JavaScript (jquery), Silverlight und .net allgemein ist.
Falls du deinen Chat übers web betreiben willst kann ich dir das nur empfehlen. Hab es selbst schon mit dem iphone ausprobiert...läuft wunderbar!

Grüße Pico

28.03.2011 - 16:20 Uhr

Klar könntest einen TCP Listener benutzen, hier ein kleines Beispiel:

Client-Server Kommunikation

desweiteren gibt es auch noch die Möglichkeit, falls du die Daten über einen Browser abrufen willst, dies über einen WCF Data Service zu realisieren:

WCF Data Services

Grüße Pico

26.03.2011 - 14:51 Uhr

Nimme in Canvas, Visibility Collapsed, Margin = 0;
Somit müsste es sich ja auf die maximal mögliche größe ausbreiten.
Dann liest du von deinem Canvas die Width und Height aus.

Habe als Root Element sowieso ein StackPanel , habe dann wie von dir empfohlen die aktuelle Größe des StackPanels ausgelesen und so funktionierts!

Danke dir!!!

Grüße Pico

21.03.2011 - 16:38 Uhr

hm eigentlich müsste es doch nur über berechnen der aktuellen Position und der max. möglichen anzeigbaren Position gehen?!

Aber wie kann ich denn die Browsergröße auslesen?? Keiner nen Tipp?!?

Grüße Pico

17.03.2011 - 15:26 Uhr

Benutzt man so eine Methode, wird das Programm auf einer Plattform, die die Methode nicht unterstützt, nicht oder nur eingeschränkt laufen.

So ists bei mir der Fall, da ich einen WCF Service im IIS hoste ist bei mir dringend Windows 7 voraussetzung.

...auf fast allen halbwegs aktuellen PCs unabhängig von der Hardware-Ausstattung, so dass man die Hardware-Anforderungen gar nicht nennen muss.

hm okay jetzt aber mal angenommen ich hätte ne Anwedung die sehr viele Datenmengen verarbeitet und an versch. Clients weitergibt. Würde man da nicht mit "besserer Hardware" die Möglichkeit haben, dass die Anwedung besser läuft?!

Hab jetzt in meinem Fall mal ne VM mit Win7 UIltimate und 1GB RAM ausprobiert. Da hängst z.B. alles und man wartet ewig bis ein Window geöffnet wird. Kann aber auch schon alleine am Win7 liegen!

Denke auch, dass man eine VM nicht mit einem realen Rechner vergleichen kann!

Grüße Pico

17.03.2011 - 15:18 Uhr

Lege den Registrierungspunkt, also den Referenzpunkt deines PopUps in Relation zur Globalen SilverlightApp nach rechts unten.

Häh???? Leider versteh ich gar nicht was du meinst! Welchen Registrierungspunkt?

Hast du vielleicht ein Beispiel?

Grüße Pico

16.03.2011 - 21:15 Uhr

Hallo,

ich bin kurz vor der Fertigstellung eines Projektes und möchte dieses auch vertreiben!
Nun kennt man ja von Software jeglicher Art die Angaben der System bzw. der Hardwareanforderungen!

Wie werden denn diese Anforderungen üblicherweise ermittelt?
Sind das geschätzte Werte oder kann man diese irgendwie messen?

z:B:
Anforderungen:
Arbeitsspeicher 4GB
2GHz AMD oder Intel Prozessor
etc.

Grüße Pico

16.03.2011 - 21:09 Uhr

Hi,

ich nutze das Silverlight PopUp-Control um bestimmte Daten zu einem Image anzuzeigen.

Bei Rechtsklick auf das Image öffnet sich dieses PopUp Control. Nun ist das Problem, wenn ein Image nahe am Browserrand
liegt wird das PopUp Control abgeschnitten, d.h. es geht über den Browserrand hinaus. Welche Möglichkeiten gibt es die Größe
des Browser zu ermitteln um das PopUp an einer besseren Position zu platzieren? Oder wie könnte man das sonst lösen?

Code dazu:


<Grid x:Name="LayoutRoot" Margin="5">
<Grid.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFD83F00" Offset="0"/>
<GradientStop Color="#FFF65E00" Offset="1"/>
</LinearGradientBrush>
</Grid.Background>
<Image MouseRightButtonUp="Image1_MouseRightButtonUp" MouseRightButtonDown="Image1_MouseRightButtonDown" Name="Image1" Source="/App;component/Images/Drops/DragImage1.jpg" HorizontalAlignment="Center"
VerticalAlignment="Center" Width="50" Height="50"></Image>
<Popup Name="PopUp">
<StackPanel>
<Border BorderBrush="Black" Background="Gray" BorderThickness="2">
<Grid Name="PopUpRoot">
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<Image MaxWidth="300" MaxHeight="300" Name="Detail" Source="{Binding ElementName=Image1, Path=Source}" Grid.Row="0"></Image>
<TextBlock FontWeight="Bold" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" Name="Header" Text="Text1"></TextBlock>
<TextBlock Grid.Row="2" HorizontalAlignment="Left" VerticalAlignment="Center" Name="Typ" Text="Text2"></TextBlock>
<TextBlock Grid.Row="3" HorizontalAlignment="Left" VerticalAlignment="Center" Name="Hersteller" Text="Text3"></TextBlock>
</Grid>
</Border>
</StackPanel>
</Popup>
</Grid>


private void Image1_MouseRightButtonUp(object sender, MouseButtonEventArgs e)
{
PopUp.HorizontalOffset = e.GetPosition(this).X;
PopUp.VerticalOffset = e.GetPosition(this).Y;
PopUp.IsOpen = true;
}

Vielleicht hat jemand ne Idee?

Grüße Pico

14.03.2011 - 13:15 Uhr

Dankeschön, an Canvas hatt eich gar nicht gedacht! Hat so prima funktioniert!

Grüße Pico

12.03.2011 - 00:08 Uhr

Ist es vielleicht ne Möglichkeit die Positionen zu berechnen....
d.h. Auflösung auselesen und anhand der Auflösung die Positionen berechnen?

Weiß keiner ne einfacherer Lösung?

Besser gesagt wie könnte man sowas berechnen?

Grüße Pico

11.03.2011 - 11:42 Uhr

Vorsicht bei der Verwendung mit dem Resharper. Da muss man dann noch manuell an Configs rumschrauben und der Testrunner vom Resharper geht nicht mehr. Dann kann man nur noch den von VS verwenden.

Ich nutze auch ReSharper glaub dann wart ich mit dem installieren vom SP1 noch bis ein Update von JetBrains veröffentlicht wird......

10.03.2011 - 21:24 Uhr

Guten tach,

ich habe eine Silverlight App in der sich ein Grid mit 2 Spalten und 6 Zeilen befinden!
Das Grid hat in der 2ten Spalten und über 5 Zeilen ein Image als Hintergrund.
Nun möchte ich ca. 8 Objekte (als Drop-Targets) an bestimmte Positionen des Hintergrundbildes fix anheften.

Das Problem hierbei ist, dass sich mein Hintergrundbild mit der Auflösung des entsprechenden Client Monitors ändert,
Hintergrundbild ist mal größer bzw. mal kleiner.
Die Objekte (Drop Targets) hab ich momentan im Grid in versch. Rows platziert und mit Alignment und Margin ausgerichtet.

Wenn nun eine kleinere bzw. größere Auflösung verwendet wird, dann passt das leider alles nicht mehr zusammen!

Nun ist meine Frage ob es irgendeine Möglichkeit gibt diese Objekte fix an mein Hintergrundbild zu positionieren?!
Hab da leider momentan keine Idee mehr!

Vielleicht kann mir von euch jemand nen Tipp geben!

Dankeschön

Grüße Pico

21.02.2011 - 17:07 Uhr

Hmmm wie macht ihr das so? Lasst ihr das MacOS drauf und installiert
Win7 auf einer anderen Partition? Wie siehts da mit Treiber usw. aus, kann man die Problemlos installieren? Und aus welchen Gründen muss es ein Mac sein und kein anderes Notebook?

Möchte mir demnächst auch ein neues Notebook holen, aus welchen Gründen würdet ihr mir ein MacBook empfehlen?

Grüße Pico

21.02.2011 - 16:58 Uhr

ich hab auf codeplex was echt cooles gefunden...falls Interesse besteht schauts euch mal an:

Codeplex Laharsub

Grüße Pico

20.02.2011 - 20:08 Uhr

Problematisch ist da aber wahrscheinlich der "WCF"-Dienst.

Was genau meinst du mit problematisch???

Ich würde es tatsächlich so angehen. Man könnte auch Silverlight als "Proxy" zwischen WCF und Javascript verwenden.

Nun gut dann muss ich wohl damit leben....hätte es am liebsten gehabt wenn die webseite auch auf dem iphone abrufbar wäre,
dann muss ich halt ein mobile verwenden mit windows phone 7, nun gut...

EDIT: Waaasss??? Habe gerade gelesen das auf Win Phone 7 kein Silverlight im IE läuft...dann wird das wohl nichts das diese webseite auf irgend einem mobile phone läuft??!!

20.02.2011 - 17:28 Uhr

[quote=MarsStein] Das halte ich für nicht realisierbar, da es nicht möglich ist, vom Server aus den Client - das wäre ja in diesem Fall ein Browser - aktiv anzusprechen.
Du kannst nur auf eingehende Antworten vom Client antworten.
Hm aber ich kenne ein System, welches dies so ausführt. Da verbindet sich der Client mit dem Server und bei Datenänderungen
werden Funktionen vom Server am Client aufgerufen, ohne dass der Client kurz vorher eine Methode am Server aufgerufen hat. Allerdings ging das über ActiveX Steuerelemente.

Bei mir muss es halt so ablaufen, dass sich ein Client (- Browser) am Server anmeldet und dann Daten welche sich am Server ändern an die verbundenen Clients überträgt!

Hab jetzt auch schon ein paar Beispiele mit jquery gesehen....das wäre doch dann eigentlich ein fullduplex Webservice. Bei einer Fullduplex Verbindung kann doch meiner Meinung
nach der Server Funktionen am Client aufrufen und der Client Methoden am Server...und dies unabhängig voneinander....oder versteh ich da was falsch??

Wäre es einfacher auf der clientseite auf Silverlight umzusteigen um dieses Vorhaben umzusetzen???

Grüße Pico

16.02.2011 - 22:03 Uhr

Hallo,

ich möchte folgende Funktion erreichen:

WCF Service in Windows Dienst gehostet soll Endpunkte für JavaScript Clients veröffentlichen,
durch verschiedene Quellen habe ich herausgefunden, dass dies über JSON möglich ist.
Alle Informationen die ich diesbezüglich gefunden habe sind mit asp.net ajax realisiert.
Ich möchte allerdings auch erreichen, dass dieser Service über reines Javascript, welches in einer html page ausgeführt wird, aufgerufen werden kann!

Ist dies möglich?

Desweiteren soll der Ablauf so sein, dass der JavaScript Client eine Methode "Register" am Service aufruft
und sich dort registriert und dem Service einen Funktionsnamen einer JavaScript Funktion übergibt, welche dann als Callback des Services fungiert!
D.h. der Callback kann theoretisch immer eine andere JavaScript Funktion sein (mit gleichen Parametern).

Dazu wäre meine Frage wie man es realisieren könnte dem WCF Services einen JavaScript Callback zu übergeben?
Hat jemand von euch sowas schonmal gemacht?

Grüße Pico

14.02.2011 - 22:17 Uhr

Hi,

ich hätte mal wieder eine Frage, und zwar habe ich in meinem Buisness Layer eine Solution welche eine 3rd Party Lib referenziert.
Diese lib enthält verschiedene Typen sagen wir mal Subscription, Item, Session.

Aus dieser lib bekomme ich verschiedene Events mit verschieden EvenArgs welche Typen der externen lib enthalten.

Nun hab ich das Problem dass ich diese Solution auch in anderen Projekten verwenden möchte aber in denen soll die externe lib nicht referenziert werden.

Beim abbonieren der events sind jetzt natürlich die Typen in den EventArgs (Subscription, Item, Session) unbekannt....wie könnte man so etwas handeln??

Ich möchte die externe Lib gerne nur in einem projekt referenziert haben und dann auf dieses von anderen zugreifen!

Grüße Pico

14.02.2011 - 13:56 Uhr

Gibt es da auch billigere Varianten so ein 5 Tage Workshop kann doch keine 2000 Euro kosten?!?!

Nein leider ist das so.....ein professioneller Kurs/Workshop kostet entsprechend und ist meinst auch nicht für Privatpersonen gedacht sondern für Angestellte Mitarbeiter einer Firma...dies ist zumindest meine Erfahrung!

Willst du nen guten Kurs bei dem auch Dozenten unterrichten welche was drauf haben, bezahlst du das natürlich!

Aber meiner Meinung nach ist ein Kurs nicht notwendig! Beschäftige dich einfach mit Objektorientierung, C# und dem .net Framework schreibe kleine Programme und untersuche deren Verhalten....du wirst sehen mit der Zeit wird dir einiges klar!

Desto mehr Zeit du investierst um so mehr wirst du lernen!

Grüße Pico

14.02.2011 - 13:25 Uhr

schreib erstmal ein Programm, dass die realen Datenmengen simuliert und schau, ob das Speichern in die DB überhaupt ein Flaschenhals ist.

Okay werde das mal anhand eines Test Programms untersuchen. Muss halt wenn Änderungen durch den Callback kommen die Daten aus der DB laden und danach weitere Prüfaktionen starten, dadurch entsteht vielleicht eine Zeitverzögerung......aber man wird sehen.......werde meine Ergebnisse weiter berichten!

Grüße Pico

13.02.2011 - 23:05 Uhr

Da wirst du dir vermutlich zumindest die ID der Datensätze merken müssen, die du dem Client sendest - obwohl es wohl praktikabler wäre, diese auch immer mitzuschicken.

Leider kann ich die ID nicht mitschicken, da ich darauf keinen Einfluss habe, weil diese Komponenten von einem anderen Hersteller sind.

Die Argumentation verstehe ich jetzt nicht: Du musst ja nicht alle Daten nochmal laden, die du updaten willst (außer, du willst explizit auf weitere Änderungen prüfen, um mögliche Konflikte zu erkennen).

Die Informationen welche ich über den Callback bekomme müssen nicht in der Datenbank gespeichert werden! Es sind nur online Daten welche ich an andere Clients übermitteln muss.
Aber wahrscheinlich ist es doch besser diese Daten auch in der DB abzulegen...hatte nur gedacht wenn sich viele Daten auf einmal ändern, dann könnte das Auswirkungen auf die Performance haben, da die Daten möglichst in "Echtzeit" übermittelt werden sollten!

13.02.2011 - 20:09 Uhr

Hallo zusammen,

ich stehe vor einer Frage was die weitere Planung meiner Anwendung betrifft.
Die Anwendung (Windows Dienst) kommuniziert mit versch. Systemen bzw. legt Daten
in versch. Systemen an und erhält dann von diesen über callbacks die Änderungen der Daten.

In meiner Anwedung werden nach dem Starten des Dienstes alle Datensätze einmalig aus einer SQL Datenbank geladen
und in den Kommunikationspartnern registriert.
Diese Datensätze beinhalten verschiedene Informationen welche allerdings nicht alle an die Kommunikationspartner übermittelt werden.
Nur ein kleiner Teil eines Datensatzes, sagen wir mal die Spalte ItemName wird übertragen.

Demnach bekomme ich bei Änderungen auch nur diesen ItemName zurückübermittelt.
Wie könnte ich es anstellen das ich dann wieder an die gewollten Informationen der Datensätze rankomme?

Jedesmal erneut aus der Datenbank laden halte ich nicht für sinnvoll, da dies ja mein System enorm belasten würde falls sich ziemlich viele Daten auf einmal ändern!

Ist hier ein Cache sinnvoll? Hat damit jemand schonmal Erfahrungen gemacht? Wie würde das Verhalten sein wenn sehr viele Datensätze
in einem Cache abgelegt sind, belastet doch auch den Rechner auf dem das ganze läuft?!

Im Grunde genommen solls so laufen:

  1. Callback übermittelt mir Änderungen -> ItemName
  2. Hole Daten mit der Bedingung ItemName aus dem Chache um an alle Informationen zu kommen!

Habe letztens mal was von Windows AppFabric Cache gehört, hat jemand damit schon Erfahrungen?

Ich weiß das sind ziemlich viele Fragen auf einmal, aber ich bräuchte dringend einen Denkanstoß in welche Richtung ich gehen soll!
Danke für eure Hilfe!

Grüße Pico

01.02.2011 - 20:48 Uhr

MD5-Hash kann man meines Wissens nicht wieder entschlüsseln!

Das könnte ich nicht nur mit der Registry machen.

Klar den kannst du in ne xml/Text/Settings oder sonstwo ablegen, je nachdem wie es gewünscht ist!

Beispiel für nen MD5 Hash aus einem string:


public static string GetMD5Hash(string TextToHash)
{
//Prüfen ob Daten übergeben wurden.
if((TextToHash == null) || (TextToHash.Length == 0))
{
return string.Empty;
}
//MD5 Hash aus dem String berechnen. Dazu muss der string in ein Byte[]
//zerlegt werden. Danach muss das Resultat wieder zurück in ein string.
MD5 md5 = new MD5CryptoServiceProvider();
byte[] textToHash = Encoding.Default.GetBytes (TextToHash);
byte[] result = md5.ComputeHash(textToHash);
return System.BitConverter.ToString(result);
}


Grüße Pico

01.02.2011 - 20:43 Uhr

So jetzt hab ichs....da ich STE benutze ist LazyLoading leider nicht möglich!

Also gehe ich über Eager Loading und verwende Include um an die Relationen zu kommen!

Im Beispiel gibt es für die Entity "Fahrzeuge" die Relation "Typ" welche wiederum weitere Relationen besitzt.
Wie kann ich diese weiteren Relationen explizit aufrufen????

hab das jetz folgendermaßen gelöst:

 var query = (from fahrzeuge in activeContext.Fahrzeuge.Include(m => m.Typ.Kennzeichen)).AsEnumerable();
 

Danke für eure Unterstützung!Grüße Pico

01.02.2011 - 20:25 Uhr

Du könntest z.B: einen Hash der Zugangsdaten in der Registry speichern und beim Programmstart
dort auslesen!

Grüße Pico