2016-07-18 3 views
0

Ich versuche eine UWP-App zu erstellen, die einen WSDL-Webdienst verwendet.'Web' existiert nicht im Namensraum 'System'

Wenn ich einen Dienstverweis auf mein Projekt hinzufügen (wie hier beschrieben - http://www.c-sharpcorner.com/UploadFile/99bb20/consume-web-service-in-metro-style-app/) der Dienst hinzugefügt wird, aber nicht mit Fehlern bauen:

The type or namespace name 'Web' does not exist in the namespace 'System' 

ich UWP ziemlich neu bin, ist es möglich, dass die "Web" -Schnittstelle einfach nicht vorhanden ist? Wie könnte ich sagen, ob in der UWP-Welt etwas vorhanden ist oder nicht?

+0

Das Ziel ist "Holographic", wenn das einen Unterschied macht, aber AFAIK kann ich die "Desktop" -Erweiterungen – FrozenKiwi

+0

Es gibt ein neues Add-In, um Web-Services für .NET Core zu konsumieren, also sollten Sie danach suchen und verwenden um einen Wrapper zu generieren. –

Antwort

1

Sie haben recht, es gibt keinen System.Web Namensraum in UWP. System.Web Namespace ist ein traditioneller .NET Framework-Namespace und wird normalerweise in ASP.NET verwendet. Es kann nicht in UWP-Apps verwendet werden. Informationen zu den in UWP unterstützten .Net-APIs finden Sie unter .NET for UWP apps.

Ich bin mir jedoch nicht sicher, warum Sie diesen Namespace in Ihrer UWP-App benötigen. Ich bin dem Artikel gefolgt, den du erwähnt hast. Es gibt zwar einen kleinen Fehler, aber es verwendet System.Web Namespace nicht und es kann funktionieren. Ich würde vorschlagen, dass Sie Ihren Code überprüfen und herausfinden, wo Sie den Namespace System.Web verwendet haben.

Sie können auch my sample at GitHub überprüfen. Es funktioniert gut in HoloLens Emulator.
enter image description here

+0

Der C# -Code, der von "Service-Referenzen hinzufügen" generiert wurde, enthielt diese Referenzen. Obwohl - ich gebe zu - ich dem Tutorial nicht wirklich gefolgt bin, habe ich direkt auf den Webservice zu einem Unity-Projekt (das in Hololens spielt) verzichtet. Ich habe auch versucht, mit dem Tool wsdl cmd line den Code zu generieren, aber mit dem gleichen Ergebnis. – FrozenKiwi

+0

In jedem Fall, danke für deine Antwort. Ich dachte mir so etwas aus - .Net könnte einen Haarschnitt machen - aber aus irgendeinem Grund konnte ich gestern in meinem Googling keine einfache, definitive Antwort finden – FrozenKiwi

0

Ich hatte ein ähnliches Problem beim Versuch, die verwaltete EWS-API in UWP zu verwenden, da es den Namespace System.Web benötigt. Wenn Sie die genaue Funktion des gewünschten Webdienstes ermitteln können, ist es möglich, die Methoden, die System.Web erfordern, erneut zu implementieren und eine ähnliche Funktion in System.Net zu verwenden.

Offensichtlich ist dies schwieriger als nur etwas, das bereits eingebaut ist, aber Sie können versuchen, genau zu finden, welches Feature von System.Web Sie brauchen.