Ergebnis 1 bis 8 von 8
-
Bin hier zuhause
- 24.11.2014, 19:42
- #1
Guten Abend
Mal wieder ich. Und zwar habe ich ein für mich unlösbares Problemchen. Kurz und knapp:
Ich erstelle einen BackgroundTransfer, hier ein kurzer Ausschnitt:
Code:BackgroundUploader uploader = new BackgroundUploader(); UploadOperation Upload = await uploader.CreateUploadAsync(uri, file);
Code:PasswordCredential webdavLogin = new PasswordCredential(); webdavLogin.UserName = ServerSettings.Values["serverUsername"].ToString(); webdavLogin.Password = ServerSettings.Values["serverPassword"].ToString(); uploader.ServerCredential = webdavLogin;
Code:Exception from HRESULT: 0x80070565 The maximum number of secrets that may be stored in a single system has been exceeded
Hat jemand Rat für mich?
Mfg
-
- 25.11.2014, 00:40
- #2
Ich glaube der credentials store kann nur 10 pro App speichern, schau mal genau in die Doku.
Mit der kostenlosen PocketPC.ch App von meinem RM-821_eu_euro2_248 aus geschrieben.
-
Bin hier zuhause
- 25.11.2014, 08:15
- #3
Danke dir! Mein Problem ist allerdings, wie ich diese gelöscht kriege, wenn ich die Credentials lediglich dem BackgroundUploader hinzufüge, bzw. werden diese tatsächlich irgendwo hinterlegt?
Mfg
Mit der kostenlosen PocketPC.ch App von meinem RM-937_eu_euro2_936 aus geschrieben.
-
- 25.11.2014, 11:06
- #4
Schau mal ob du mit der Api klar kommst: http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh465069.aspx
.
Möglicherweise legt ja der Uploader so einen Eintrag an. Du könntest das mit der Find* Funktion prüfen.
-
Bin hier zuhause
- 25.11.2014, 11:54
- #5
Diesen msdn Eintrag hab ich gestern aich noch studiert, dachte dann allerdings, dass die Credentials nicht auf diese Weise hinterlegt werden, da diese eigentlich nur dem BackgroundTransfer "mitgegeben" werden. Ich werde das heute Abend aber mal testen und schauen, ob ich da was abfragen kann. Das merkwürdige ist einfach, dass die Exception nicht etwa sofort gefeuert wird. Den Upload tätige ich in einem foreach-loop, dieser läuft für ca. 70 Dateien durch, danach erscheint die Exception. Also müsste es rein theoretisch 70 mal die Credentials setzen, was aber den Platz des Credentials Store deutlich übersteigen würde.
Mfg
Mit der kostenlosen PocketPC.ch App von meinem RM-937_eu_euro2_936 aus geschrieben.
-
Gehöre zum Inventar
- 25.11.2014, 15:09
- #6
Ich kann mir das jetzt nur so erklären dass er für den BackgroundTransfer da einen eigenen Store für die gerade laufenden Transfers hat und dem das dann zu viel wird. Evtl. wärs ne Variante nicht 70 gleichzeitig zu starten sondern zu schauen dass man, kA immer nur so 20 da drin hat und dann halt periodisch checkt ob schon wieder Platz für neue wäre und die erst dann in die Queue hängt (wär jetzt natürlich nur ein Workaround).
-
Bin hier zuhause
- 27.11.2014, 20:04
- #7
So ich hab nun mal geschaut, ob sich da irgendwas im CredentialStore befindet. Leider Fehlanzeige, kein kein einziger Login befindet sich darin, nichts. Nun die grosse Frage: Warum kann auf meinem Entwicklergerät kein einziger Transfer mit Credentials getätigt werden? Immer wieder wird die im ersten Post angegebene Exception ausgegeben. App hab ich schon mehrmals vom Phone deinstalliert, Phone neugestartet usw. Ich begreiffe das gerade nicht wirklich und hoffe, dass jemand noch einen weiteren Tipp hat.
Mfg
Mit der kostenlosen PocketPC.ch App von meinem RM-937_eu_euro2_936 aus geschrieben.
-
Bin hier zuhause
- 30.11.2014, 20:45
- #8
Um hier das Thema abzuschliessen und ev jemandem damit weiterhelfen zu können, schreibe ich hier kurz, was ich ptobiert habe. Nachdem ich diese Exception partout immer und immer wieder erhalten habe, obwohl der Credentials Store leer war, hab ich mal probiert, explizit meine Login Informationen in den Credentials Store zu schreiben. Dieser ist dann dort natürlich auch vorhanden. Das Problem sehe ich darin, dass beim anfügen der Credentials an den BackgroundTransfer, diese irgendwo gecacht werden. Daher kam ich dann auf die Idee, den CredentialCache zu durchsuchen, leider fehlanzeige, auch nichts. Nunja, bin jetzt schlussendlich soweit, dass ich meine Credentials mithilfe von "SetRequestHeader" dem BackgroundTransfer mitgebe, was allerdings den nachteil hat, dass man sich so nur mit "Basic" und nicht mit "Digest" authentifizieren kann. Dem etwas entgegenzuwirken nutze ich neben Basic-Auth nun noch SSL.
Zum Schluss kann ich sagen, dass die Credentials vom CredentialStore problemlos genutzt werden können, wenn keine allzugrosse Menge an Transfers getätigt werden müssen, ansonsten ist man mit SetRequestHeader wohl besser bedient. Achja, die Credentials via Header mitgeben, hat noch einen anderen Vorteil: Transfers via Authentifizierung aus dem CredentialStore werden bei Digest-Auth komischerweise immer 2x übertragen (1x StatusCode 401 und dann StatusCode 200), dies scheint ein Bug zu sein. Mit dem SetRequestHeader alles kein Problem mehr.
Vielen Dank nochmal für die Hilfe!
Mfg
Mit der kostenlosen PocketPC.ch App von meinem RM-937_eu_euro2_936 aus geschrieben.
Ähnliche Themen
-
SimpleDateFormat Exception: unparsable Date
Von Ecki im Forum Android EntwicklungAntworten: 5Letzter Beitrag: 25.10.2010, 08:40 -
ChangeScreen - Namen der Programme in den Exceptions
Von Metzgore im Forum HTC Touch Diamond 2Antworten: 7Letzter Beitrag: 18.08.2009, 15:10 -
Out of Memory Exception
Von der_profie im Forum HTC Touch DiamondAntworten: 0Letzter Beitrag: 30.09.2008, 14:01
Pixel 10 Serie mit Problemen:...