2009-07-14 7 views
1

Wir haben auf unserer ASP.NET-Site einen SOAP-Clientcode implementiert, der einen Remotedienst aufruft. Die Implementierung wurde im Wesentlichen mithilfe des Assistenten "Add Web Reference" von Visual Studio durchgeführt, der den Code "remote.service.namespace" ordnungsgemäß hinzufügte und den Dienst aufruft.Probleme beim Webservice auf ASP.NET auf dem Produktionsserver (IIS)

-Code arbeitet lokal perfekt (von Visual Studio), aber nicht auf die Produktion Web-Server mit fehlenden Montagereferenzfehler:

CS0246: The type or namespace name 'remote.service' could not be found (are you missing a using directive or an assembly reference?)

ich einen hinterhältigen Verdacht, dass ich nicht alles Bereitstellung richtig bin, vielleicht jemand kann darauf hinweisen, was ich dort vermisse?

Danke!

Zusätzliche Informationen:

Projekt ist eine Webseite.

ASP.NET Version 2.0 installiert und als Ziel sowohl auf Dev Box und Produktionsserver verwendet.

Die von WSDL.exe generierte Proxy-Datei wird im Stammordner der Website bereitgestellt, demselben Ordner, in dem sich die Seite befindet. Globaler Namespace (Standard) wurde für die Proxy-Klassengenerierung verwendet.

Antwort

2

Wenn dies ein Website-Projekt ist, dann wird die Proxy-Datei im Ordner App_Code residieren sollte

0

Haben Sie den Ordner "App_WebReferences" und alle zugehörigen Inhalte auf den Server kopiert?

+0

yep ... es hat Ordner (remote/service/..) und 2 Dateien something.discomap und something.wsdl – xelurg

+0

In den IIS-Eigenschaften der Site auf dem Remote-Server ist die ASP.NET-Version auf 2.0 festgelegt ? –

+0

Ja, es ist auf ASP.NET 2.0 festgelegt – xelurg

0

Funktionieren andere Teile Ihrer ASP.NET-Site?

Ist Ihr Websiteziel 3.5 und möglicherweise 3.5 nicht auf dem Produktionsserver installiert?

0

Ist dies eine Website oder ein Webanwendungsprojekt? Ich wette, es ist eine Website.

1

Sie erwähnten, dass die Proxy-DLL auf "den Stammordner der Website, auf der sich die Seite befindet" platziert wird.

Sie sollten die DLL in den Ordner "bin" legen. Wenn der Ordner nicht da ist, erstellen Sie ihn.

1

Der Web-Service-Client-Stack in .NET ist Runtime Generation des Proxy-Client (von den Anmerkungen in der Klasse, die durch Wsdl .exe/svcutil.exe). Diese generierte Datei landet normalerweise in einem der Temp-Verzeichnisse Ihres Servers (irgendwo unter dem Hauptfensterbaum). Das Problem besteht darin, dass das ASP.NET-Benutzerkonto nicht berechtigt ist, in dieses bestimmte temporäre Verzeichnis zu schreiben, aber es merkt es nicht, wenn es die Datei schreibt, sodass Sie beim Versuch, das generierte Objekt zu laden, einen Fehler bekommen Datei zurück. Je nach der genauen Installationsreihenfolge auf Ihrem Server können Sie in der Situation landen. Sobald Sie das richtige Verzeichnis gefunden haben, können Sie einfach die NTFS-Dauerwellen im Verzeichnis beheben, um das Problem zu lösen.

Verwandte Themen