RIA Service 401.2 error
-
Mittwoch, 25. Januar 2012 09:15
(Erstens bitte entschuldigt mein Deutsch, ich habe bis jetzt kein Forum auf Englisch gefunden!)
Ich habe bei eine Silverlight/RIA eine merkwürdige Situation gefunden: obwohl am Anfang die XAP ohne Problem geladen wird (= 200 status in Fiddler) werden die nachfolgenden Rufe zu Service (z.B http : // server:9999/ClientBin/XyzDomainService.svc/binary/GetStuff) mit einem Fehler 401.2 (Access is denied) beantwortet.
Ausserdem, die selbe Anwendung in einen verschiedenen Server (Entwicklungserver, mit VS2010 installiert) funktioniert ohne Problem.
Das Deployment (weiss das deutsche Wort nicht) von RIA ist echt die Hölle!
Danke!
Daniel - http://crmadiario.blogspot.com
Alle Antworten
-
Mittwoch, 25. Januar 2012 09:22
Hallo Daniel,
vorab: Der Ordner "ClientBin" ist hier fehl am Platz. Das dürfte falsch sein.
Ansonsten: Liegt der Service auf demselben Server wie die restliche Anwendung inkl. der XAP Datei?
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Mittwoch, 25. Januar 2012 10:38
Hallo, Stefan!
Ja, das mit dem "ClientBin" Ordner habe ich auch gemerkt und auch merkwürdig gefunden. Trotzdem sind die folgenden URLs in den Entwicklungsserver anscheinend gleichgültig gut:
/ABCTest-Web-AbcDomainService.svc/binary/GetStuff
/ClientBin/ABCTest-Web-AbcDomainService.svc/binary/GetStuff
/Services/ABCTest-Web-AbcDomainService.svc/binary/GetStuffWenn ich diese URLs direkt mit dem IE öffne, läuft es ohne Problem in Entwicklungsserver, beim Produktionsserver gibt es ein 401.2 bzw 401.1 Fehler zurück.
Zu deine Frage, ob der Service auf dem selben Server/Anwendung liegt: ja, mit RIA werden die Services dynamisch auf der selben Anwendung wie der Silverlight Hostanwendung produziert.
Danke!
Daniel - http://crmadiario.blogspot.com -
Mittwoch, 25. Januar 2012 12:18
Hallo Daniel,
die englischen Foren für Silverlight sind nicht auf MSDN gehostet sondern hier:
http://forums.silverlight.net/
Alternativ und ich denke das ist dir lieber, kannst Du auch im spanischen MSDN Forum für Silverlight posten:
http://social.msdn.microsoft.com/Forums/es-ES/wpfes/threads
Nun zu deinem Problem. Wenn ich eine Anwendung auf dem Entwicklungsserver zum laufen kriege, beim Produktionsserver aber eine Zugriffsverletzung habe, würde ich als erstes die Einstellungen der Webserver überprüfen. Irgendwo gibt es einen Unterschied.
Schöne Grüße
Oliver
-
Mittwoch, 25. Januar 2012 14:42
Hi Daniel,
i am not sure about the error message, but i had some similar problems when i published my silverlight applications first on a production server. If i remember correct there was a problem with the RIA services and they could not build up their virtual directories. Checking the application part of the event log may help you proof this.
The solution for the problem was switching the dlls of System.ServiceModel.DomainServices.Hosting and System.ServiceModel.DomainServices.Server in the properties to "local copy" true (simply translated from german visual studio but i think this matches the english one). This will add the dll files to your publishing folder.
P.S. You german is better than the german of some German i have encountered. ;-)
- Bearbeitet AndrNeuss Mittwoch, 25. Januar 2012 14:44
-
Mittwoch, 25. Januar 2012 15:03
Hallo AndrNeuss,
das von dir beschriebene Problem löst aber keine Zugriffsverletzung aus. In deinem Fall bekommmst Du folgenden Fehler:
Could not load file or assembly 'System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified
Schöne Grüße
Oliver
-
Mittwoch, 25. Januar 2012 16:27
Danke Oliver für die Links zu den Foren auf Englisch und Spanisch, ich werde dort auch mal probieren.
Die Webseiten die Probleme mit den "Copy local" lösen (und der berühmte Post von Tim Heuer) habe ich schon alle durchgelesen - kein Glück. Es scheint es ist keine eigentliche Zugriffverletzung, sondern dass wenn IE keine Antwort bekommt, es mit verschiedenen Anmeldeinformationen (=Credentials) versucht.
Ich bin geneigt zu denken, es gibt ein Problem in meinen Servercode dass verursacht dass SL keine Antwort bekommt. Übrigens, wenn ich als Antwort ein IQueryable<T> gebe mit eine simplifizierte POCO Klasse, läuft alles gut. Wenn ich die eigentliche Klasse benutze (die wesentlich komplizierter und schwerer ist) taucht das Problem auf. Vielleicht Serializierung ist problematisch?
Danke alle!
Daniel
(PS. Danke auch AndrNeuss für das Kompliment über meinen Deutsch! Ich habe mir gedacht, seit diesen Fehler mir Miserabel machen muss, mag ich auch ein bisschen mein deutsch üben, oder?)
Daniel - http://crmadiario.blogspot.com -
Montag, 13. Februar 2012 10:36Besitzer
Hallo Daniel Sabater,
Könntest Du Dein Problem inzwischen lösen?
Grüße,
RobertRobert Breitenhofer, MICROSOFT

Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können. -
Donnerstag, 23. Februar 2012 11:27
Hallo Robert
Am Ende haben wir die Maschine neu installiert (!) dieses Mal mit Visual Studio 2010 (obwohl das in ein Produktionserver nicht empfehlenswert ist). Damit ist das Problem weg, obwohl wir wissen noch nicht was los war.
Mit den WCF Diagnostics Tools (SvcTrace Viewer) könnten wir feststellen dass etwas bei der serialisierung von unsere Klassen machte IIS zusammenbrechen. Mit POCO-Klassen läufte alles problemlos.
Die Kombination Dynamics CRM 4.0 + Advanced Developer Extensions (crmsvcutil.exe) + RIA Services ist irgendwie problematisch für manche versionen von RIA.
Grüsse
Daniel Sabater
Daniel - http://crmadiario.blogspot.com
- Als Antwort markiert Daniel BedarfModerator Freitag, 23. März 2012 14:49

