Laden...

Forenbeiträge von punkdevil Ingesamt 992 Beiträge

04.02.2011 - 12:04 Uhr

Hallo,

ich habe etwa 20 Projekte in einer Solution. Diese 20 Projekte, sollen die gleiche Versionsnummer bekommen.
Die Versionsnummer ist in einer Texdatei gespeichert. Bisher habe ich im PreBuild eine exe aufgerufen, welche die Versionsnummer in der AssemblyInfo.cs umschießt.

Hat jemand noch eine andere Idee, wie ich das vielleicht eleganter lösen kann?

01.02.2011 - 14:59 Uhr

ok, ich werde mal verscuhen ihn neu zu installieren, ansonsten installiere ich das komplette Windows neu.
Danke ujr

01.02.2011 - 13:26 Uhr

Du hast recht, der Http-Dients ist nicht installiert.
Ich sehe ihn allerdings auch nicht auf einem anderem Rechner in der Systemsteuerung. sc qc http funktioniert aber auf dem anderen rechner. Ich sehe nur den Dienst HTTP-SSL. Wie lautet der Eintrag für den Httpdienst?

01.02.2011 - 11:26 Uhr

Mit Adminrechten.
Die Firewall kann doch damit nichts zu tun haben oder?
Es sollte aber keine eingestellt sein...

01.02.2011 - 11:21 Uhr

Ich verwende .net-Framework 3.5

Hier das minimale Beispiel:


static void Main(string[] args)
        {
            Console.WriteLine(System.Net.HttpListener.IsSupported); //liefert false, sollte aber true liefern
        }

01.02.2011 - 11:04 Uhr

Ich habe das Update eingespielt, neu gestartet, leider ohne Erfolg.
Mit den rechten hat das nichts zu tun. Ich habe zum Test eine Konsolenanwendung, welche mir einfach HttpListener.IsSupported ausgibt.

31.01.2011 - 10:51 Uhr

Ich benutze einen Windowsdienst.

31.01.2011 - 07:14 Uhr

HttpListener.IsSupported liefert false...

26.01.2011 - 13:49 Uhr

Die http.sys ist erstellt am 04.08.2004 und geändert am 13.04.2008
Version : 5.1.2600.5512 (xpsp.080413-0852)

26.01.2011 - 12:30 Uhr

Hallo,

ich rufe einen Webservice auf und bekomme die Exception:> Fehlermeldung:

System.IO.FileNotFoundException: Die Datei "C:\WINDOWS\TEMP\125r4312.dll" konnte nicht gefunden werden. Dateiname: "C:\WINDOWS\TEMP\125r4312.dll" Server stack trace: bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) bei System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath) bei System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) bei Microsoft.CSharp.CSharpCodeGenerator.FromFileBatch(CompilerParameters options, String[] fileNames) bei Microsoft.CSharp.CSharpCodeGenerator.FromSourceBatch(CompilerParameters options, String[] sources) bei Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromSourceBatch(CompilerParameters options, String[] sources) bei System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromSource(CompilerParameters options, String[] sources) bei System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence) bei System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, XmlSerializerCompilerParameters parameters, Assembly assembly, Hashtable assemblies) bei System.Xml.Serialization.XmlSerializer.GetSerializersFromCache(XmlMapping[] mappings, Type type) bei System.Xml.Serialization.XmlSerializer.FromMappings(XmlMapping[] mappings, Type type) bei System.ServiceModel.Description.XmlSerializerOperationBehavior.Reflector.SerializerGenerationContext.GenerateSerializers() bei System.ServiceModel.Description.XmlSerializerOperationBehavior.Reflector.SerializerGenerationContext.GetSerializer(Int32 handle) bei System.ServiceModel.Description.XmlSerializerOperationBehavior.Reflector.MessageInfo.get_BodySerializer() bei System.ServiceModel.Dispatcher.XmlSerializerOperationFormatter.SerializeBody(XmlDictionaryWriter writer, MessageVersion version, String action, MessageDescription messageDescription, Object returnValue, Object[] parameters, Boolean isRequest) bei System.ServiceModel.Dispatcher.OperationFormatter.SerializeBodyContents(XmlDictionaryWriter writer, MessageVersion version, Object[] parameters, Object returnValue, Boolean isRequest) bei System.ServiceModel.Dispatcher.OperationFormatter.OperationFormatterMessage.OperationFormatterBodyWriter.OnWriteBodyContents(XmlDictionaryWriter writer) bei System.ServiceModel.Channels.BodyWriter.WriteBodyContents(XmlDictionaryWriter writer) bei System.ServiceModel.Channels.BodyWriterMessage.OnWriteBodyContents(XmlDictionaryWriter writer) bei System.ServiceModel.Channels.Message.OnWriteMessage(XmlDictionaryWriter writer) bei System.ServiceModel.Channels.Message.WriteMessage(XmlDictionaryWriter writer) bei System.ServiceModel.Channels.BufferedMessageWriter.WriteMessage(Message message, BufferManager bufferManager, Int32 initialOffset, Int32 maxSizeQuota) bei System.ServiceModel.Channels.TextMessageEncoderFactory.TextMessageEncoder.WriteMessage(Message message, Int32 maxMessageSize, BufferManager bufferManager, Int32 messageOffset) bei System.ServiceModel.Channels.HttpOutput.SerializeBufferedMessage(Message message) bei System.ServiceModel.Channels.HttpOutput.Send(TimeSpan timeout) bei System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.SendRequest(Message message, TimeSpan timeout) bei System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout) bei System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout) bei System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) bei System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) bei System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) Exception rethrown at [0]: bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) bei

Dies scheint doch ein Problem vom XmlSerializer zu sein.
Kann mir jemand weiterhelfen?

Danke!

26.01.2011 - 11:39 Uhr

Hallo,

ich habe eine Webservice (WCF) (.Net3.5), Wenn dieser einen HttpListener aufsetzen möchte bekomme ich eine PlatformNotSupportedException.

Fehlermeldung:
System.PlatformNotSupportedException: Die Operation wird auf dieser Plattform nicht unterstützt.
bei System.Net.HttpListener..ctor()
bei System.ServiceModel.Channels.SharedHttpTransportManager.OnOpen()
bei System.ServiceModel.Channels.TransportManager.Open(TransportChannelListener channelListener)
bei System.ServiceModel.Channels.TransportManagerContainer.Open(SelectTransportManagersCallback selectTransportManagerCallback)
bei System.ServiceModel.Channels.TransportChannelListener.OnOpen(TimeSpan timeout)
bei System.ServiceModel.Channels.HttpChannelListener.OnOpen(TimeSpan timeout)
bei System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
bei System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout)
bei System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
bei System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout)
bei System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
bei System.ServiceModel.Channels.CommunicationObject.Open()

Das Betriebssystem ist Windows XP Pro SP3.

Woran könnte das liegen?

21.01.2011 - 13:26 Uhr

Hallo Xynratron,

dann funktioniert es natürlich. Das wäre jetzt ein Workaround. Aber mich würde es schon interessieren, wo dieser Timeout zuschlägt....

21.01.2011 - 07:44 Uhr

Kann man irgendwo einstellen, wie lange eine SSL Session gültig ist, bzw. wann das Remotezertifkat erneut validiert werden muss?

20.01.2011 - 12:04 Uhr

Ich habe jetzt herausgefunden, dass wenn ich den Webservice Plain (also nicht SSL verschlüsslet) aufsetze, keine Verzögerung auftritt. Also muss es irgendwie an der SSL-Verschlüssleung liegen...

20.01.2011 - 10:17 Uhr

Hallo Rainbird,

die 15 Sekunden vergehen nicht beim Aufruf des Webservices im SAP, sondern beim Aufruf meines eigenen Webservices, welcher mit dem Windowsdienst gehostet wird. D.h. die 15 Sekunden vergehen, bis bei mir im Code in die Webservicemethode gesprungen wird.

19.01.2011 - 09:29 Uhr

Ich habe einen Windowsdienst eingerichtet. Wenn dieser mit den Rechten des Systemkontos läuft, so dauert die erste Anfrage etwa 15 Sekunden und nach einer Minute dauert es wieder die 15 Sekunden. Wenn ich den Dienst mit meinem Konto (Administrator) laufen lasse, so dauert die erste Anfrage 3 Sekunden und es scheint keine Timeout zu geben.

Woran könnte das liegen?

07.01.2011 - 10:25 Uhr

@Rainbird: Der Webservice braucht i.d.R. 100 Millisekunden. Wenn aber 1 Minute lang der Webservice nicht aufgerufen wurde, so dauert der Aufruf wider über 15 Sekunden.

@trib: Den Timeout muss ich auf Serverseite einstellen richtig?

06.01.2011 - 12:21 Uhr

Hallo,

ich konsumiere einen Webservice, welcher in einem SAP-System gehostet wird.
Der erste Aufruf dauert über 15 Sekunden, danach dauert jeder weitere Aufruf etwa 100 Millisekunden. Wenn 1 Minute lang der Webservice nicht aufgerufen wird, so dauert der nächste Aufruf wieder über 15 Sekunden. Kann mir jemand hinweise geben, wie ich das Problem herausfinden kann? Ich habe schon ausprobiert, ob es vielleicht an den Proxyeinstellungen im Internet Explorer liegt, aber da ist kein Proxy eingestellt...

Der Webservice verwendet SSL. Bisher habe ich immer Webservices ohne SSL verwendet, da hatte ich das Problem nicht...

14.12.2010 - 07:25 Uhr

Hat keiner eine Idee?

02.12.2010 - 15:31 Uhr

Hallo,

ich habe eine Silverligthanwendung mit einem Grid. Dort habe ich AllowDrop=true gesetzt. Wenn ich dann vom Dateiexplorer eine Datei auf das Grid mit Drag&drop ziehe so klappt alles wunderbar.
Wenn ich nun aus Outllook eine Dateianhang auf mein Grid ziehe, so wird zwar das DragEnter-Event ausgelöst aber kein Drop-Event. Woran könnte das liegen?

02.12.2010 - 15:00 Uhr

Ok Danke Xynratron,

ich bin immer davon ausgegangen, dass ich nur auf der IP des Rechners einen Listener aufsetzen kann.

02.12.2010 - 12:14 Uhr

Hallo,

ich habe mal eine Frage zur Klasse System.ServiceModel.ServiceHost.

Wenn ich als Basisadresse eine Uri angebe, wo die IP nicht der IP des Rechners entspricht wo das Programm läuft, so bekomme ich keine Exception.
Ich hätte jetzt erwartet, dass ich einen Fehler bekomme, dass die Url ungültig ist, bzw. dass ich auf dieser Url keinen Listener starten kann.

Die IP, die ich angegeben habe gibt es aber überhaupt nicht. Wie kann ich jetzt den Endpunkt ansprechen?
Ich bitte um Aufklärung, warum das so ist und warum ich keinen Fehler bekomme.

Danke!

04.11.2010 - 12:41 Uhr

Stimmt, die URL kann ich ja relativ aufrufen, dadurch muss ich ja nicht die komplette URL kennen.

04.11.2010 - 12:11 Uhr

Hallo gfoidl,

danke für deine Ideen.
Out-Of-Browser möchte ich nicht verwenden.

Ich schaue mir mal den generischen HttpHandler an.

04.11.2010 - 08:01 Uhr

Hi,

ich habe eine Silverlightanwendung, welche Dateien verwaltet. Diese Dateien werden in einer DB gepeichert. Es wird mit dem EF und den RIA Services darauf zugegriffen. Nun möchte ich eine Datei durch die lokal verknüpfte Anwendung öffnen lassen (wie Doppelklick auf Datei im Dateiexplorer).

Wer hat Ideen, wie man das realisieren könnte?

04.11.2010 - 07:32 Uhr

In meiner Silverlight Anwendung verwalte ich Dateien ähnlich wie im Dateiexplorer. Diese Dateien werden in einer Datenbank gespeichert. Auf die Daten greife ich mit Entity Framework + RIA Services zu.
Datei hoch-/runterladen klappt gut. Nun möchte ich aber eine Datei "Öffnen", d.h. die verknüpfte Anwendung soll die Datei öffnen (z.B. Worddatei, soll von Word geöffnet werden). Aus der Silverlightclient-Anwendung ist dies aus Sicherheitsgründen nicht möglich. Ich dachte mir nun, dass ich die Datei mit einem HttpServer unter einer URL zur Verfügung stelle. In der Silverlightclient-Anwendung öffne ich eine neues Broweserfenster mit der URL der Datei. Daraufhin lädt der Browser die Datei runter und bietet dann den Standarddialog zum Öffnen oder Speicher der Datei an.

Mir ist leider bis jetzt nichts besseres eingefallen. Ein separater Windowsdienst würde natürlich auch gehen, aber der müsste dann auch auf die DB zugreifen und die Dateien auslesen. Dies wird aber bereits von der Webanwendung gedacht und da dachte ich, dass die Webanwendung direkt den HttpListener aufmacht.

03.11.2010 - 11:45 Uhr

Hallo,

ich habe eine Silverlight.Web-Anwendung, welche im IIS gehostet wird.
In dem Webprojekt setze ich einen System.Net.HttpListener auf.

Bei mir lokal (wenn ich Visual Studio als Administrator starte) klappt das. Wenn ich die Anwendung auf den IIS deploye, so bekomme ich ich die Exception:

System.Net.HttpListenerException (0x80004005): Zugriff verweigert at System.Net.HttpListener.AddAllPrefixes() at System.Net.HttpListener.Start() at SilverlightTest.Web.HttpServer.Server.ListenerThread() in D:\SOURCE_CODE\FISrpt\Server.Web\HttpServer\Server.cs:line 57 12

Was muss ich tun, damit der Code die Berechtigung hat den Listener zu Starten?

19.10.2010 - 16:06 Uhr

ScrollIntoView möchte ich eigentlich erst am Ende verwenden, damit ich die gefunden Zeile an dem gefunden Index anzeigen kann.

Wenn nichts gefunden wird, so wird mit deiner Variante ja immer die gesamte Tabelle durchgescrollt. Das ist nicht sehr performant.

Ich habe jetzt mal einen anderen Ansatz gewählt. Anstatt den Inhalt mit GetCellContent() zu ermitteln hole ich mir mit Reflection und einem MemberPath (den habe ich bereits, da ich ihn schon für das Sortieren benötige) direkt das Property welches ich mit meinem Suchstring vergleiche. Dies mache ich dann für jede Spalte (jede Spalte hat einen eigenen PropertyPath).

19.10.2010 - 13:40 Uhr

Im Prinzip ist es egal, ob ich mir die Selektion über den Index oder das Item setze. Entscheidend ist, dass GetCellContent() null zurückliefert, wenn ich die Methode für ein Element aus ItemSource aufrufe, wofür noch nicht die entsprechende Row geladen wurde.

19.10.2010 - 13:15 Uhr

@unconnected: Jedes Element in meiner ItemSource ruft für jede Spalte GetCellContent() auf.

Als Ergebnis meiner Suche benötigt ich den Index der Zeile mit dem nächsten Treffer.
Anschließend setze DataGrid.SelectedIndex auf den gefunden Index. Das funktioniert auch, solange alle Zeilen im sichtbaren Bereich liegen.

19.10.2010 - 12:39 Uhr

Hi zero_x,

ich habe bereits gegoogelt, aber leider nichts gefunden...

19.10.2010 - 12:34 Uhr

Hi,

ich möchte in einem DataGrid über alle Zeilen und Spalten suchen.

Mein erster Ansatz ist, die ItemsSource des DataGrids zu durchlaufen und für jedes Element und jede Spalte GetCellContent() aufzurufen. Leider liefert GetCellContent() null zurück, wenn die Zeile noch nicht geladen wurde (wenn sie sich z.B. außerhalb des sichtbaren Bereichs liegt).

Wie könnte man noch vorgehen?

18.10.2010 - 19:55 Uhr

Problemgelöst. Ich hatte einen Denkfehler. Die clientaccess und crsossdomainpolicy.xml muss nicht zu dem Webprojekt hizugefügt werden, sondern muss auf dem Webserver abgelegt werden, den ich mit meinem Request aufrufe. Dann ging es sofort.

14.10.2010 - 10:57 Uhr

Ich habe es nach langem Suchen rausgefunden woran es liegt, verstehe aber nicht warum.
Ich habe für ein Entity-Objekt eine partielle Klasse in meinem Clientprojekt hinzugefügt. Dies ist kein Problem, damit funktioniert auch alles. Nun habe ich eine Indexerproperty zu dieser Klasse hinzugefügt, und damit tritt der obige Fehler auf...

13.10.2010 - 14:33 Uhr

verwendetes Datenbanksystem: Sql Server 2008 Express

Hallo,

ich verwende das EntityFramework und Silverlight mit RIA-Services.
Wenn ich nun Daten änderne bekomme ich eine TargetParameterCountException.
Diese Exeption wird in der vom RIA-Framework generierten Datei ausgelöst.

Hier mal der Codeausschnitt der die Exeption auslöst:


/// <summary>
        /// Gets or sets the 'FreeMonday' value.
        /// </summary>
        [DataMember()]
        public bool FreeMonday
        {
            get
            {
                return this._freeMonday;
            }
            set
            {
                if ((this._freeMonday != value))
                {
                    this.OnFreeMondayChanging(value);
                    this.RaiseDataMemberChanging("FreeMonday");
                    this.ValidateProperty("FreeMonday", value);
                    this._freeMonday = value;
                    this.RaiseDataMemberChanged("FreeMonday");
                    this.OnFreeMondayChanged();
                }
            }
        }

Die Exception wir din der Zeile this.RaiseDataMemberChanging("FreeMonday") ausgelöst.

Ich habe aber keine Ahnung was da schief geht. Vorallem hat es auch schonmal funktioniert das ist das komische...

Die gleiche Exception bekomme ich auch, wenn ich SubmitChanges im Client aufrufe:

System.ServiceModel.DomainServices.Client.DomainOperationException: Submit operation failed. Parameteranzahlkonflikt ---> System.Reflection.TargetParameterCountException: Parameteranzahlkonflikt
bei System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
bei System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
bei System.Reflection.RuntimePropertyInfo.GetValue(Object obj, BindingFlags invokeAttr, Binder binder, Object[] index, CultureInfo culture)
bei System.Reflection.RuntimePropertyInfo.GetValue(Object obj, Object[] index)
bei System.ServiceModel.DomainServices.Client.Entity.ExtractState()
bei System.ServiceModel.DomainServices.Client.Entity.Merge(Entity otherEntity, LoadBehavior loadBehavior)
bei System.ServiceModel.DomainServices.Client.DomainContext.ApplyMemberSynchronizations(IEnumerable1 changeSetResults) bei System.ServiceModel.DomainServices.Client.DomainContext.ProcessSubmitResults(EntityChangeSet changeSet, IEnumerable1 changeSetResults)
bei System.ServiceModel.DomainServices.Client.DomainContext.CompleteSubmitChanges(IAsyncResult asyncResult)
--- Ende der internen Ausnahmestapelüberwachung ---

13.10.2010 - 12:31 Uhr

Ich habe es selbst rausgefunden. Man muss das Script im "SQLCMD mode" ausführen...

13.10.2010 - 10:57 Uhr

verwendetes Datenbanksystem: SQL Server 2008 R2 Express

Hi,

ich verwende das Entity Framework und habe mir ein Migrations-Sqlscript generieren lassen.
Dieses möchte ich nun ausführen, bekomme dabei aber Fehlermeldungen.

Hier der Beginn des Scripts:


/*
Deployment script for FISrpt_Test
\*/

GO
SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON;

SET NUMERIC_ROUNDABORT OFF;


GO
:setvar DatabaseName FISrpt_Test
:setvar DefaultDataPath "c:\Programme\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\"
:setvar DefaultLogPath "c:\Programme\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\"

GO
USE [master]

GO
:on error exit
GO
IF (DB_ID(N'$(DatabaseName)') IS NOT NULL
    AND DATABASEPROPERTYEX(N'$(DatabaseName)','Status') <> N'ONLINE')
BEGIN
    RAISERROR(N'The state of the target database, %s, is not set to ONLINE. To deploy to this database, its state must be set to ONLINE.', 16, 127,N'$(DatabaseName)') WITH NOWAIT
    RETURN
END

GO

IF NOT EXISTS (SELECT 1 FROM [master].[dbo].[sysdatabases] WHERE [name] = N'$(DatabaseName)')
BEGIN
    RAISERROR(N'You cannot deploy this update script to target FISRPT\SQLEXPRESS. The database for which this script was built, FISrpt_Test, does not exist on this server.', 16, 127) WITH NOWAIT
    RETURN
END

GO

IF (@@servername != 'FISRPT\SQLEXPRESS')
BEGIN
    RAISERROR(N'The server name in the build script %s does not match the name of the target server %s. Verify whether your database project settings are correct and whether your build script is up to date.', 16, 127,N'FISRPT\SQLEXPRESS',@@servername) WITH NOWAIT
    RETURN
END

GO

IF CAST(DATABASEPROPERTY(N'$(DatabaseName)','IsReadOnly') as bit) = 1
BEGIN
    RAISERROR(N'You cannot deploy this update script because the database for which it was built, %s , is set to READ_ONLY.', 16, 127, N'$(DatabaseName)') WITH NOWAIT
    RETURN
END

GO
USE [$(DatabaseName)]

GO
/*
The column [dbo].[ProjectStateSet].[UsedByClient] on table [dbo].[ProjectStateSet] must be added, but the column has no default value and does not allow NULL values. If the table contains data, the ALTER script will not work. To avoid this issue, you must add a default value to the column or mark it as allowing NULL values.
\*/
....

Hier die Fehlermeldungen:
Meldung 102, Ebene 15, Status 1, Zeile 1
Falsche Syntax in der Nähe von ':'.
Meldung 102, Ebene 15, Status 1, Zeile 1

Falsche Syntax in der Nähe von ':'.
Meldung 50000, Ebene 16, Status 127, Zeile 4
You cannot deploy this update script to target FISRPT\SQLEXPRESS. The database for which this script was built, FISrpt_Test, does not exist on this server.
Meldung 911, Ebene 16, Status 1, Zeile 1
Die $(DatabaseName)-Datenbank ist nicht vorhanden. Stellen Sie sicher, dass der Name richtig eingegeben wurde.
Meldung 208, Ebene 16, Status 1, Zeile 5
Ungültiger Objektname 'dbo.ProjectStateSet'.

Wenn ich mit der Maus über die Zeile ":setvar DatabaseName FISrpt_Test" kommt noch die Meldung 'DatabaseName' ist keine bekannte Option.

Kann mir jemand sagen was da nicht stimmt?

Danke!

03.10.2010 - 10:15 Uhr

Hi Femaref,

es muss doch aber irgendwo dran liegen, in diversen Beispielen zum DataGrid ist doch immer von 10000 Zeilen und mehr die Rede.

Ich werde es also trotzdem mal probieren, mein DataGrid so minimal wie möglich zu gestalten und dann mal sehen, ob die Performance besser wird.

Mal schauen wie es ausgeht

02.10.2010 - 09:10 Uhr

Hi ProGamer,

den DataPager habe ich auch mal eingebaut, damit ging es schon schneller, aber nicht wirklich flüssig. Der erste Aufbau dauert gut und gern 5 Sekunden, Zeilen filtern (ein-/Ausblenden) mittels PagedCollectionView dauert auch 3 Sekunden und beim Scrolen ruckelt es stark.
Ich vermute mal, das Die DataGridTemplateColumns und die benötigten DataTemplates schuld sind. Ich werden am Montag mal testweise auf simple TextColumns umstellen.

01.10.2010 - 20:15 Uhr

Hallo,

ich verwende das Standard-DataGrid. Dabei habe ich festgestellt, dass bei meiner Anwendung die Perfomance des DataGrids nicht besonders ist. Es dauert recht lange bis es aufgebaut ist, das Scrollen und das Hinzufügen/Entfernen von Zeilen dauert recht lange.
Ich habe etwa 50 Spalten und 200 Zeilen in dem Grid, wobei etwa die Hälfte der Spalten ausgeblendet sind.
Die Spalten sind alle vom Typ DataGridTemplateColumn, mit eigenen (simplen) Controls als DataTemplates.

Hat jemand Tipps, wie man das Grid beschleunigen kann?
Was sollte man unbedingt vermeiden um vernünftige Performance zu erzielen?

Ich bin dankbar für alle Hinweise.

23.09.2010 - 11:49 Uhr

Du verwendest als Item.Content einfach ein HyperlinkButton...

14.09.2010 - 09:11 Uhr

Hallo,

ich habe ein Silverlightprojekt (Clietn + Web-Projekt).

Vom Client aus möchte ich einen Httprequest auf den lokalen rechner machen (127.0.0.1).
Ich habe zu dem Webprojekt eine clientaccesspolicy.xml und eine crossdomain.xml hinzugefügt.

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="*">
        <domain uri="*"/>
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <allow-http-request-headers-from domain="*"/>
</cross-domain-policy>

Ich bekomme aber immer noch eine SecuirtyException, wenn ich mit der Klasse WebClient auf die URL 127.0.0.1 zugeifen möchte.

Wie kann ich nun weiter vorgehen?

08.09.2010 - 11:39 Uhr

Ich könnte auch einfach eine neue erste Spalte einfügen und diese dafür verwenden...

07.09.2010 - 14:12 Uhr

Hallo,

ich spiele gerade mit dem DataGrid herum.
Ich habe HeadersVisibility auf All gesetzt. Kann man auf den Header ganz links oben zugreifen (der Header der RowHeaders)?
In Excel kann man durch einen Klick auf das Element alle Zellen markieren.
Ich möchte darin ein eine ComboBox o.ä. darstellen, mit der man die Sichtbarkeit der einzelnen Spalten einstellen kann.

04.09.2010 - 16:46 Uhr

OK, ich probiere es mal mit DataBinding.
Ich bin halt auf die Klasse DataBinder gestoßen, als ich gegoogelt habe, wie ich auf Properties zugrfien könnte, von denen ich nur den Pfad als String habe.

04.09.2010 - 16:41 Uhr

@CSL: Danke, wieder was gelernt 😃

04.09.2010 - 07:34 Uhr

Hi,

wenn due das HierarchicalDataTemplate verwendest, so muss die Liste der untergeordneten Elemente immer gleich heißen, also anstatt "Unterkategorien" und "Artikel" z.B. "Childs".


 public class Hauptkategorie
    {
        private List<Unterkategorie> _unterkategorie;

        public Hauptkategorie()
        {
            _unterkategorie = new List<Unterkategorie>();
        }

        public string Name { get; set; }
        public List<Unterkategorie> Childs
        {
            get { return _unterkategorie; }
            set { _unterkategorie = value; }
        }
    }

    public class Unterkategorie
    {
        private List<Artikel> _artikel;

        public Unterkategorie()
        {
            _artikel = new List<Artikel>();
        }

        public string Name { get; set; }

        public List<Artikel> Childs
        {
            get { return _artikel; }
            set { _artikel = value; }
        }
    }

    public class Artikel
    {
        public string Artikelnummer { get; set; }
        public string Name { get; set; }
    }


Das Xaml sieht dannn so aus:


 <TreeView ItemsSource="{Binding Hauptkategorien}" Width="220" DockPanel.Dock="Left" Name="tvArtikel" Margin="5,5,5,10" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" SelectedItemChanged="tvArtikel_SelectedItemChanged">

                <TreeView.ItemTemplate>

                    <HierarchicalDataTemplate ItemsSource="{Binding Childs}">

                        <TextBlock Text="{Binding Name}" />

                        <HierarchicalDataTemplate.ItemTemplate>

                            <DataTemplate>
                                <TextBlock Text="{Binding Name}" />
                            </DataTemplate>

                        </HierarchicalDataTemplate.ItemTemplate>

                    </HierarchicalDataTemplate>

                </TreeView.ItemTemplate>

            </TreeView>


02.09.2010 - 20:16 Uhr

Ich möchte die Methode DataBinder.Eval verwenden, damit ich ein Property eines Objektes über einen String ansprechen kann.

02.09.2010 - 09:17 Uhr

Hi,

ich habe eine ganz einfache Frage: In welcher Assembly befindet sich die Klasse DataBinder?

Ich finde bei meiner Suche immer die Assemlby System.Web. Diese kann ich aber nicht als Referenz zu meinem Silverlightprojekt hinzufügen...

19.08.2010 - 09:45 Uhr

Ich habe jetzt testweise die RowStyles entfernt, so scheint es zu funktionieren.