我刚刚完成了我所拥有的iOS应用程序的Android端口,现在客户端也希望拥有一个Windows Phone版本,这样他们就可以拥有一个适用于所有三个市场的应用程序而且现在我不是确定如何使用Web服务作为"添加服务参考" Windows Phone 8.1应用程序的选项已被删除。我不知道是否有任何在线替代品可以创建代理类,例如"添加服务参考"是的,我尝试使用Svcutil.exe选项生成我自己的代理,但是当我导入文件时,它上面堆满了错误和未定义的类型,这些类型不适用于Windows Phone项目。除了代理路线,我读到HttpClient应该可以工作,但到目前为止我还没有取得很大的成功(以下是我尝试过的但是我一直收到错误,这是一个更简单的服务,其中一些其他服务更复杂)。对于Android和iOS项目,我能够找到一些从WSDL文件创建代理类的在线生成器,并且我一直试图看看WP8.1是否有类似的东西,但到目前为止我&# 39;没有成功。
Public Shared Async Function GetSession() As Task
Dim values As New List(Of KeyValuePair(Of String, String)) From {
New KeyValuePair(Of String, String)("RepLogin", "username"),
New KeyValuePair(Of String, String)("RepPass", "password")}
Dim httpClient As New HttpClient(New HttpClientHandler())
Dim requestString As String = mobileAddress + "?op=VerifyRep"
Dim response As HttpResponseMessage = Await httpClient.PostAsync(requestString, New FormUrlEncodedContent(values))
Debug.WriteLine(response)
Dim responseString = Await response.Content.ReadAsStringAsync()
Debug.WriteLine("response string contains: " + responseString)
End Function
之前有人建议Web服务应该从SOAP更新为WCF或其他在这种情况下真的不是解决方案,因为客户端已经拥有多个Web应用程序,现在有两个移动应用程序(iOS和所有人都使用此服务而没有任何问题,并且很难说服他们所有内容都需要重新设计才能让Windows Phone应用程序启动并运行
答案 0 :(得分:0)
好的,所以我发现我的问题是,当我创建项目时,我刚刚选择了Windows Phone模板,该模板使用Windows运行时以便与Windows 8.1应用程序共享代码(我仍然没有知道如果你不能使用网络服务他们将如何分享,但这不是在这里。我使用Windows Phone Silverlight模板创建了一个新项目,现在我可以正常添加服务引用,因为我不打算创建一个与Windows Phone应用程序共享代码的Windows应用程序,这是要走的路。不管怎么说,多谢拉。