Laden...

Forenbeiträge von irgendwas Ingesamt 36 Beiträge

15.07.2013 - 06:15 Uhr

Hallo,

ich kenne zwar die Schnittstellen nicht, allerdings gibt es noch die WSIT APIs für JAVA. Es klingt zu mindest so, als wäre damit auch ein WCF Zugriff zu regeln.

Damit kann man zwar recht sicher den direkten Objektaustausch vergessen, da nicht die gleiche "Basisklasse" eingebunden werden kann, da unterschiedliche Sprachen, aber ein Zugriff auf "primitiver" Objektebene sollte trotzdem möglich sein.

Schöne Grüße

15.07.2013 - 06:03 Uhr

Hallo irgendwas,

lock auf ein Feld das noch null ist beim ersten Zugriff, ist vielleicht keine so tolle Idee ...

private static readonly Settings _instance = new Settings();  

Sollte das gewünschte Ergbis bringen und beim getter werden keine ifs oder locks mehr benötigt.

Grüße

Oh Gott, ja, da merkt man meinen im Moment gedrehten Tagesrhythmus ... danke für die Richtigstellung.

14.07.2013 - 11:00 Uhr

Hi,

woran es genau liegt kann ich zwar auch nicht sagen ohne es auszuprobieren -
allerdings vermisse ich vom Design her den private Constructor und ein Lock.


public class Settings : INotifyPropertyChanged
    {
        private static Settings _instance;

        //Singelton
        private Settings(){ }

        public static Settings Instance
        {
            get
            {
                lock(_instance){
                    if (_instance == null)
                        _instance = new Settings();
                    return _instance;
                }
            }
        }

11.07.2013 - 21:24 Uhr

Hi,

ich habs gerade mal auf meinem Server ausprobiert - und da bekommen die von meinem Hyper-V Typ Tunnel. (bei Virtual PC ist es auch so.) Sicher das die bei Dir Ethernet haben? Welche Software hast Du denn ausprobiert?

Schöne Grüße

09.07.2013 - 09:05 Uhr

Hm, sehr merkwürdig.

Eigentlich sollte der DataContext die Rückgabe des Converters enthalten.
Einziges Problem dabei - Änderungen an Objekten unterhalb des Converters werden nicht durch den DataContext registriert - es sei denn, Du machst einen ziemlichen Notification-Aufriss bzw. verknüpfst die Objekte direkt.

Ansonsten müsste es irgendeine Besonderheit von Telerik sein, aber ich glaube nicht, dass hier die Standarts tatsächlich geändert werden.

06.07.2013 - 19:07 Uhr

Hi,

magst Du mal den XAML Code beschrieben posten? Mir wird nicht ganz klar was Du wie deklarierst.
Mir klingt Dein ViewModel (das es zerlegt) spontan nach einer Art Converter.

D.h. es wäre vllt.

{Binding MyProperty,Converter={StaticResource converter}}

ein besseres Vorgehen - selbst wenn Du auf die Art nur dein ViewModel übergibst.

03.07.2013 - 19:24 Uhr

Hallo,

mein Problem war ähnlich gelagert wie vermutet, allerdings deutlich komplexer.
Ich habe durch einen gut versteckten Fehler in meinem lokalen Objektcache unter bestimmten Bedingungen (!Threadsafty!) parallel das gleiche Objekt erstellt, zwar nur einmal im Cache abgelegt, aber anschließend mit den Objekten abwechselnd das ViewModel in meinem ViewModelPool überschrieben und mich anschließend über die fehlerhaften Changes gewundert.

Vielen Dank an alle für die Hilfe.

Schöne Grüße

03.07.2013 - 13:21 Uhr

Hallo,

wie erwartet macht die ObeservableCollection nicht den geringsten Unterschied.
Warum reagiert nur die ListView nicht auf die Changes der Objekte?

Schöne Grüße

03.07.2013 - 12:08 Uhr

Hallo,

ja, mein Beispiel Code mit dem ich das Problem untersuche bemängelst Du vollkommen zu recht. Die meisten Dinge löse ich eigentlich etwas anders. Mir ging es nur darum, die Verkettung aufzuzeigen um zu klären, ob ich hier einen generellen Denkfehler mache.

Die ViewModels werden eigentlich nicht jedes Mal verworfen sondern zental verwaltet - auch lasse ich jede Änderung prüfen bevor ein PropertyChanged gefeuert wird. Da Objekte deutlich häufiger geändert als angelegt werden habe ich mir die ObservableCollections gespart und filtere stattdessen mein zentrales Dictionary mit Values().ToList() .

Ich konnte mein Problem jetzt soweit eingrenzen, dass sich meine ListView einfach nicht für mein PropertyChanged interessiert, d.h. der PropertyChangedEventHandler der einzelnen Objekte bleibt scheinbar unregistriert. Naja, ich baue mal die ObservableCollections ein.

Schöne Grüße

02.07.2013 - 09:31 Uhr

Hi,

die Einwände sind einzusehen. Allerdings würde ich jetzt gerne auf das ursprüngliche Problem zurückkommen. Gibt es einen offensichtlichen Grund warum die Änderung nicht korrekt übernommen werden?

02.07.2013 - 08:47 Uhr

Hallo,

auch wenn ich hier möglicher Weise dadurch das Pattern verwurstet habe -
warum soll ich genau den Messanger nehmen anstatt mich über das Interface selbst zu benachrichtigen?

Fulfills the same purpose than the PropertyChanged event, but in a less tight way.

Schöne Grüße

02.07.2013 - 06:53 Uhr

Hi,

ich poste mal ein bisschen Code um meine Verwirrung etwas zu verdeutlichen oder mich für einen offensichtlichen Fehler hauen zu lassen, den ich nicht sehe. 😉

Die Deklaration in XAML sieht so aus.

<ListBox Name="LB" ItemsSource="{Binding ChildObjects}">
	<ListBox.ItemTemplate>
		<DataTemplate>
			<TextBlock Margin="0" Text="{Binding Path=Name}" />
	        </DataTemplate>
	</ListBox.ItemTemplate>
</ListBox>

Im Code behind hänge ich so das ViewModel ein.

LB.DataContext = new ListViewModel();

Und dann gibt es da noch die restlichen Klassen ... die Struktur ist ein wenig doppelt, das ist allerdings dem DataProvider geschuldet und dem Problem einer sonst auftretenden Ringabhängigkeit.

public class ListViewModel : ViewModelBase
{

	public ListViewModel()
        {
            SomeDataProvier.PropertyChanged += new PropertyChangedEventHandler(notify);
        }

        public List<ObjectViewModel> ChildObjects
        {
            get
            {
                return SomeDataProvider.SomeObjectList.Select(o => new ObjectViewModel(o)).ToList();
            }
        }

        private void notify(object sender, PropertyChangedEventArgs e)
        {
            if (e.PropertyName.Equals("SomeObjectList"))
                RaisePropertyChanged("ChildObjects");
        }

}


public class ObjectViewModel : ViewModelBase
{

	private SomeObject _o;

	public ObjectViewModel(SomeObject o){
		_o = o;
		_o.PropertyChanged += new PropertyChangedEventHandler(RaisePropertyChanged);		
	}

	string Name {
		get {
			return _o.Name;			
		}
		set {
			_o.Name = value;		
		}
	}

}

public class SomeObject : ModelBase
{

	private string _name;
	
	string Name {
		get {
			return _name;
		}
		set {
			_name = value;
			RaisePropertyChanged("Name");
		}
	}

}

public abstract class ModelBase : INotifyPropertyChanged
{
        #region INotifyPropertyChanged Members
	public event PropertyChangedEventHandler PropertyChanged;
	#endregion

        protected virtual void RaisePropertyChanged(string propertyName){
            PropertyChangedEventHandler handler = PropertyChanged;         
            if (handler != null)             
                handler(this, new PropertyChangedEventArgs(propertyName));     
        }
}

public abstract class ViewModelBase : INotifyPropertyChanged
{
        #region INotifyPropertyChanged Members
	public event PropertyChangedEventHandler PropertyChanged;
	#endregion

        protected virtual void RaisePropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            PropertyChangedEventHandler handler = PropertyChanged;
            if (handler != null)
                handler(this, e);
        }
        protected virtual void RaisePropertyChanged(string propertyName){
            PropertyChangedEventHandler handler = PropertyChanged;         
            if (handler != null)             
                handler(this, new PropertyChangedEventArgs(propertyName));     
        }
}

Ich hoffe ich übersehe irgendwo etwas. Ich habe im Prinzip die gleiche Struktur an anderer Stelle mit einer TreeView am Laufen bei der das funktioniert - und ich sehe einfach den Unterschied zwischen den beiden Codes nicht.

01.07.2013 - 21:46 Uhr

Hallo,

ich wollte mal fragen welche Ursachen es geben kann, wenn INotifyPropertyChanged durch Model und ViewModel implementiert wurde, ein PropertyChange vom Model verkündet wird, durch das ViewModel durchgereicht wird, in dem PropertyChangedEventHandler PropertyChanged das Element der View steht an dessen DataContext das ViewModel hängt, aber die View nicht aktualisiert?

Vielleicht beschreib ich es auch gerade blöd, aber ich bin mittlerweile auch ein wenig Matschig im Kopf. Ich schreib dazu morgen mehr.

Vielen Dank soweit.

25.06.2013 - 03:51 Uhr

Hallo,

das ist eine gute Frage. Also laut der Dokumentation sollte das funktionieren.
Hier nachzulesen.

Werden vielleicht irgendwelche Api-Keys benötigt? Aber das ist smtp, wie sollte man die übermitteln?

Schöne Grüße

16.06.2013 - 06:56 Uhr

Hallo,

der Fehler deutet darauf hin, dass auf dem Windows 8 System der Speicheranbieter "System.Data.SqlServerCe.3.5" nicht installiert oder aus anderen Gründen nicht verfügbar ist.
Schau Dir mal die Eigenschaften für den Verweis auf das Assembly System.Data.SqlServerCe an:
Ist die Option Lokale Kopie angehakt? Falls nicht, aktivier es mal, mach ein Rebuilt und teste die Anwendung auf dem Windows 8 System erneut.

Ich möchte an dieser Stelle nicht "Lokale Kopie" empfehlen, aber um den Fehler schnell einzugrenzen sollte es helfen.

Ich glaube, die Fehlermeldung falls auf die sdf Datei nicht zugegriffen werden kann, ist noch eine andere. Einen Fehler mit dem EntityFramework würde ich ebenfalls ausschließen wollen, wenn die Anwendung exakt so unter Windows 7 läuft.

Schöne Grüße

11.06.2013 - 10:17 Uhr

Hallo,

da ich es nicht überprüft habe - bekommen virtuelle Lan-Verbindungen als Typ wirklich Ethernet? Also innerhalb einer VM für die sie als Lan eingebunden sind, klar, aber auf dem Host? Ich dachte die werden entweder als Loopback oder als Tunnel geführt?

Schöne Grüße

09.06.2013 - 19:25 Uhr

Ich kann Dir da auch nicht wirklich weiterhelfen.
Eine Wertzuweisung ist ja z.B. x = 10, also Variable = Wert .

Es wären natürlich noch Konstruktionen denkbar wie:
int a = 10, b = 20, c = 30;

Ich weiß nur absolut nicht, wie man sinnvoll diese Gleichung damit umformen sollte.

Edit:
Mir kommt da spontan ein Gedanke.
Könnte damit gemeint sein die eigentlichen Rechnungen aufzulösen und in richtiger Reihenfolge und Gruppierung per Zuweisung zu lösen?

Also

c = a + b * x;

umzubauen nach

c = x;
c *= b;
c += a;

Ist eigentlich wenig sinnvoll, aber noch das Beste was mir einfällt.

09.06.2013 - 11:37 Uhr

Hallo,

ich kenne zwar die Library selbst nicht, aber ich denke hiermit (Wireless Communication Library) kannst Du Dich vllt. um die Arbeit mit der Registry und PInvokes drücken. Bluetooth gehört wirklich nicht so zu den Anforderungsgebieten. Höchstens für Wii-Modes - und da wird gerne diese Lib verwendet.

Edit: Du kannst natürlich auch eine weitere Option als Workaround nutzen - und zwar die Abfrage von Speed. Bluetooth unverbunden hat 0, bei einer Verbindung selbst mit BT2 max. 3Mbit.

Schöne Grüße

09.06.2013 - 07:14 Uhr

Das hier wird ziemlich sicher das tun, was Du benötigst:


private static string Get(string city, string country)
        {
            using (TcpClient client = new TcpClient("www.webservicex.net", 80))
            {
                using (StreamReader sr = new StreamReader(client.GetStream()))
                {
                    using (StreamWriter sw = new StreamWriter(client.GetStream()))
                    {
                        sw.WriteLine(string.Format("GET /globalweather.asmx/GetWeather?CityName={0}&CountryName={1} HTTP/1.1", city, country));
                        sw.WriteLine("Host: www.webservicex.net");
                        sw.WriteLine("Connection: close");
                        sw.WriteLine();
                        sw.Flush();
                        return sr.ReadToEnd();
                    };
                };
            };
        }

Den Rest spare ich mir aus Höflichkeit.

07.06.2013 - 06:05 Uhr

Hi,

kein Thema. Hauptsache Dir konnte weitergeholfen werden. 😉

Schöne Grüße

06.06.2013 - 18:59 Uhr

Hi,

also, das die Frm Files so "kryptisch" aussehen ist "normal". Eine Beschreibung des Dateiformats findest Du hier (mysql.com).

Mir ist so direkt kein Programm bekannt, mit dem Du die Dateien einfach lesen könntest - es gibt vermutlich auch keinen Grund eines zu schreiben, denn MySQL selbst kann das recht gut. 😉

Und wirklich portabel sind die Daten auch nicht. Daher möglichst immer einen SQL Dump herstellen.

Abgesehen davon:
Der Ansatz scheint mir doch sehr zu hinken. Du willst eine Config-Datei erstellen in die logischer Weise die Logindaten für den Server gehören ohne diese zu benutzen oder zu haben? Wenn Du sie hättest könntest Du ja auch einfach MySQL nehmen ...

Schöne Grüße

06.06.2013 - 16:59 Uhr

Hallo,

ich hab's gerade mal ausprobiert und bekomme den Fehler tatsächlich auch nur, wenn ich den Service wirklich installiere und ausführe. So ein Quark. Naja, ich habe jetzt fürs Debugging einen Extraeinstieg mit App.config und Logfile geschaffen und prügel jetzt die Endpunkte direkt via Code in den Service.

Ist zwar nicht wirklich Sinn der Sache, aber so kann ich wenigstens weiterarbeiten.

Vielen Dank an alle. Falls irgendwer die Hintergründe einmal wirklich beleuchten kann die zu diesem Verhalten führen, wäre ich zwar nicht undankbar, denn ich verstehe meine Fehler gerne, aber es ist nicht mehr zwingend nötig.

Nochmals vielen Dank für die Mühe und insbesondere die Abhilfe!

06.06.2013 - 04:42 Uhr

Hallo,

vielen Dank für Deine Mühe. Leider löst es das eigentliche Problem noch nicht.

Damit bekomme ich zwar die Fehlermeldung im Debugger weg - meine Fehlermeldung ist jedoch eine andere.
Der hier geschilderte und behobene Fehler resultiert in einer AddressAlreadyInUseException.
Ich wusste nicht, wie ich das beim Debuggen vermeide, hatte das dann aber für mich dadurch umgangen, dass ich einfach den kompilierten Prozess gestartet und mich anschließend mit Studio als Debugger drangehängt habe. So ist es jedenfalls viel besser. Danke schon einmal dafür. 🙂

Der Fehler der für mich aber einen Blocker darstellt ist:> Fehlermeldung:

Der Dienst kann nicht gestartet werden. System.InvalidOperationException: Der Dienst "Qm_Wcf.QmWcf" verfügt über keine Anwendungsendpunkte (keine Infrastrukturendpunkte). Dies kann folgende Ursachen haben: Es wurde keine Konfigurationsdatei für die Anwendung gefunden, in der Konfigurationsdatei wurde kein mit dem Dienstnamen übereinstimmendes Dienstelement gefunden oder im Dienstelement wurden keine Endpunkte definiert.

Den bekomme ich, wenn ich den QmService ausführe - und nicht den "Debug" WcfServer. Und das, obwohl der QmService über die Anwendungsendpunkte in seiner App.config verfügt.

05.06.2013 - 06:06 Uhr

Hallo,

erstmal vielen Dank für den Tip mit dem Finalizer.

Der Grund, warum ich bisher keine Miniversion hochgeladen habe ist der, dass diese bei mir funktioniert, die richtige jedoch nicht. Ich kann den Unterschied der Aufrufe zwischen den Versionen jedoch nicht erkennen. Für mich sind sie vom Prinzip her gleich.

Ich habe jetzt den QmServiceWcfService für Debug-Zwecke wie von Dir vorgeschlagen zu einer Konsolenanwendung gemacht und dem die gleiche App.config spendiert. Das funktioniert wie erwartet.

Wenn ich jetzt allerdings versuche den tatsächlichen Service zu starten, bekomme ich immer noch die gleiche Fehlermeldung.

Ich nehme richtig an, dass Qm-Service bzw. der damit erzeugte QmServiceWcfServer die App.config von Qm-Service nutzt und nicht die des QmServiceWcfServer? Generell wäre es sogar egal, da mittlerweile in beiden die Informationen für den WcfService drinstehen.

Was übersehe ich?

Schöne Grüße

04.06.2013 - 21:16 Uhr

Hallo,

anbei nun das Projekt. Kennwort ging Dir per PN zu.

Schöne Grüße und vielen Dank soweit.

P.S.: Da es scheinbar etwas falsch rübergekommen ist.
Das Kennwort für das Archiv ist Pass!4.prog . Es geht mir nicht darum, dass das der Code vll. gelesen wird, sondern ich stehe nicht so auf automatische Indexierung.

04.06.2013 - 15:45 Uhr

Hallo,

der Service läuft Stand-Alone. Ich hatte gedacht das wird deutlich an dem

 <startup>
         <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
     </startup>

Absatz in der Konfig. Sorry.

Was meinst Du jetzt mit den Typ-Angaben? Wenn Du die Bezeichnungen von Interface, Klasse und ServiceHost(typeof(Klasse)) meinst, dann ja.

Allerdings wirft der Link bei mir die Frage auf, ob ich nicht einfach die blöde Konfig aufgebe und die Endpoints und das Zeug einfach im Code deklariere.

Ich räume später das Projekt mal um einen Haufen ungenutztes Zeug auf und hänge das gerne an.

03.06.2013 - 20:03 Uhr

Ich muss mir mal kurz ein paar Augen leihen ...

Die Fehlermeldung lautet:> Fehlermeldung:

Der Dienst kann nicht gestartet werden. System.InvalidOperationException: Der Dienst "Qm_Wcf.QmWcf" verfügt über keine Anwendungsendpunkte (keine Infrastrukturendpunkte). Dies kann folgende Ursachen haben: Es wurde keine Konfigurationsdatei für die Anwendung gefunden, in der Konfigurationsdatei wurde kein mit dem Dienstnamen übereinstimmendes Dienstelement gefunden oder im Dienstelement wurden keine Endpunkte definiert.

Und in der App.config steht folgendes:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  
  <appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
  </appSettings>
  <system.web>
    <compilation debug="true" />
  </system.web>
 
  <!-- Bei der Bereitstellung des Dienstbibliothekprojekts muss der Inhalt der Konfigurationsdatei der app.config-Datei 
  des Hosts hinzugefügt werden. System.Configuration unterstützt keine Konfigurationsdateien für Bibliotheken. -->
  <system.serviceModel>
    <services>
      <service name="Qm_Wcf.QmWcf">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8080/qm-wcf/" />
          </baseAddresses>
        </host>
        <endpoint address="" binding="basicHttpBinding" contract="Qm_Wcf.IQmWcf">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <!-- Legen Sie die Werte unten vor der Bereitstellung 
          auf "false" fest, um die Veröffentlichung von Metadateninformationen zu vermeiden. -->
          <serviceMetadata httpGetEnabled="True" httpsGetEnabled="False" />
          <!-- Damit in Fehlern Ausnahmedetails zum Debuggen angezeigt werden, 
          legen Sie den Wert unten auf "true" fest. Legen Sie ihn vor der Bereitstellung auf "false" fest, 
          um die Veröffentlichung von Ausnahmeinformationen zu vermeiden. -->
          <serviceDebug includeExceptionDetailInFaults="True" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
  
  
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
</configuration>

Sieht einer den Fehler? Ich bin hoffentlich einfach nur blind. Das die App.config an der richtigen Stelle liegt zeigt mir mein DemoProjekt und das hatten wir hier auch schon geklärt.

03.06.2013 - 19:41 Uhr

Ich werde bekloppt. Wieso geht das in meinem DemoProjekt aber in meinem eigentlichen Code nicht?
Dammit. Ich bin mal weiter nach dem Fehler schauen und halte euch hier auf dem Laufenden ...

03.06.2013 - 14:24 Uhr

Hi,

es sollte also eigentlich mit den Parametern in der App.config des Hosts funktionieren?

Meine Struktur ist wie folgt:
ServiceProzess.exe (Konsolenanwendung) -> Wcf-Host (Klassenbibliothek) -> Wcf-Service (Klassenbibliothek)

Es sollten dann die Daten der App.config des ServiceProzess.exe genommen werden, oder nicht?
Ich hatte das jedenfalls so verstanden. Falls ja, ich sehe mir das heute abend noch mal an und sonst bastel ich dann ein Beispiel.

Vielen Dank soweit.

03.06.2013 - 10:59 Uhr

Tatsache - also das mit dem StreamReader - aber ich hatte den Code auch nur überflogen.

Wirft der Streamreader eigentlich keine Exception wenn man dem den Stream unterm Hintern kappt? Oder ist hier C# "intelligent" und hält den Stream noch trotz close? (Ich habe keine Lust das jetzt auszuprobieren und vllt. weiß das ja jemand.)

02.06.2013 - 19:30 Uhr

Mal was ganz anderes:
Warum überhaupt HttpWebRequest und Response?
Wird aus einem bestimmten Grund die System.Net.WebClient.Class nicht verwendet?

02.06.2013 - 18:32 Uhr

Hallo,

ich habe das "übliche" Problem, dass der Client eine Exception beim Zugriff auf den WCF-Service wirft mit Http-Anfrage geschlossen, abgebrochen, naja, das übliche halt.

Ich hatte ursprünglich den Loggingvorschlag der MSDN integriert - ohne das eine Logfile erstellt wurde.


  <system.diagnostics>
    <sources>
      <source name="System.ServiceModel.MessageLogging">
        <listeners>
          <add name="messages"
          type="System.Diagnostics.XmlWriterTraceListener"
          initializeData="c:\logs\messages.svclog" />
        </listeners>
      </source>
    </sources>
  </system.diagnostics>

Dann habe ich hier in einem Beitrag diesen Ansatz gefunden:


<system.diagnostics>
    <trace autoflush="true" />
    <sources>
      <source name="System.ServiceModel"
              switchValue="Information, ActivityTracing"
              propagateActivity="true">
        <listeners>
          <add name="sdt"
              type="System.Diagnostics.XmlWriterTraceListener"
              initializeData="SdrConfigExample.e2e"  />
        </listeners>
      </source>
    </sources>
  </system.diagnostics>

Der haut jedoch auch nicht hin: es wird einfach kein Log erstellt.
Der WCF läuft bei mir mal als ServiceHost(typeof(WcfService), baseAddress); und nicht via IIS.
Muss das Logging da anders gelöst werden?

Mit freundlichen Grüßen

Nachtrag:

Ich habe mittlerweile herausbekommen, dass ich durch die Verwendung von ServiceHost(typeof(WcfService), baseAddress) anstelle von ServiceHost(typeof(WcfService)) maskiert habe, dass er meine App.config vollständig ignoriert. Und das vollkommen unabhängig davon, ob ich die Sachen in die App.config meines Service oder meines Hosts eintrage.
Die im Service kann ich vermutlich eh vergessen, da der Service eine Klassenbibliothek ist.

Toll wäre es, wenn ich ähnlich dem IIS einfach eine Web.config im Service verwenden könnte.

24.02.2013 - 18:38 Uhr

Hi,

vielen Dank soweit.
Ich hatte es nicht so deutlich gefunden - also die fehlende Unterstützung - aber ich hatte das schon fast befürchtet als ich einen Blick auf EF5 geworfen hatte.

Der gepostete Workaround funktioniert super - statt new DataContext(connectionString) einfach new DataContext(new SqlCeConnection(connectionString)) verwenden ... und tada, it works. Ihr seid spitze. Ich habe mir schon einen kompletten Tag einen Wolf gesucht. 😉

Danke.

Schöne Grüße

24.02.2013 - 16:46 Uhr

Hallo,

sollte es schon eine Lösung zu meinem Problem geben habe ich Sie leider nicht gesehen. Daher hier meine Frage:

Ich möchte die Datenbank meiner Anwendung von Microsoft SQL Server-Datenbankdatei (SqlClient) auf Microsoft SQL Server Compact 4.0 (.NET Framework-Datenanbieter für Microsoft SQL Server Compact 4.0) umstellen.

Der Zugriff auf die Daten erfolgt über Data.Linq.DataContext(connectionString).
Das funktioniert mit der alten .mdf File auch gut.

Nun zur Umstellung:
Neue .sdf File angelegt.
Die Inhalte via SQL Manager übertragen.
Ein neuer connectionString angelegt.
Die Testverbindung aus Studio für den connectionString geht.
SQL Server CE ist installiert.
Über NuGet dem Projekt Microsoft SQL Server Compact Edition hinzugefügt.
Die Verweise geprüft - sie enthalten System.Data.SqlServerCe.

Bei der Ausführung/Debug bekomme ich nun die Fehlermeldung Datenbank [...] kann nicht geöffnet werden. Der Anbieter &quot;System.Data.SqlServerCe.3.5&quot; ist nicht installiert.

Der Anbieter ist ziemlich sicher installiert. Sonst würde vermutlich die Testverbindung nicht klappen. Was übersehe ich?

Vielen Dank im Voraus.

Schöne Grüße

09.01.2013 - 08:59 Uhr

Hallo,

mein vorheriger Beitrag hat sich erledigt. Offensichtlich muss man nichts anderes tun.

Es muss sich nur mal VisualStudio vernünftig aufhängen, hart abgewürgt werden, das Projekt neucompilieren und dann funktioniert das auch genau so (wie es ohnehin sollte) ...

Vielen Dank an alle die versucht haben sollten das Problem nachzuvollziehen.

08.01.2013 - 20:56 Uhr

Hi,

ich habe ein recht ähnliches Problem:

bei mir ist aber leider der handler == null, d.h. ich rufe zwar PropertyChanged auf, ich prüfe sogar, ob ich mit this.GetType().GetProperty(propertyName) das Property von meinem RaisePropertyChanged(String) bekomme, aber das hilft halt nicht, wenn der handler, den das interessieren sollte Null ist.

Muss ich, um das ViewModel zu binden mehr machen, als
.DataContext = ViewModel und .ItemsSource = ViewModel.Property ?

Mein Problem ist nun, die bei der Initialisierung voreingestellten Werte werden so dargestellt - nur wenn ich diese Ändere, wird die Änderung nicht übernommen.

Vielleicht mag/kann mir ja wer helfen. Vielen Dank im Voraus.