为了连接到webservices,我编写了以下代码。
WebClient wc = new WebClient();
wc.DownloadStringAsync(new Uri("http://www.Webservices.asmx"));
wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted);
void wc_DownloadStringCompleted(object sender,DownloadStringCompletedEventArgs e)
{
Debug.WriteLine("Web service says: " + e.Result);
using (var reader = new StringReader(e.Result))
{
String str = reader.ReadToEnd();
}
}
通过使用上面的代码获取字符串结果。但我想在HTMLVisulaizer中获得结果然后我知道有什么方法有webservice.then我可以轻松访问特定的方法。 请告诉我如何在Windows Phone 7中调用Web服务方法?在webservice中我有5个webmethods.how来获取它以及如何调用特殊webmenthod。
请提前告诉我。
答案 0 :(得分:5)
@venkateswara您是在谈论获取已知WebReference方法的列表,以便您知道在您的代码中调用哪一个?将WebReference添加到WP7项目时,是否看不到已知方法调用?由于您将在VS中开发WP7应用程序,因此我无法看到您希望这样做的原因。即使您自己没有自己的Web服务,也需要从VS连接到它,以便添加对项目的引用。
以下是VS2010中添加了WebReference的屏幕。 操作列在右侧。
添加后,您可以使用ObjectBrowser来了解应该如何调用这些方法。
如果我错过了你的问题,请告诉我。
答案 1 :(得分:2)
@Jason James
第一步:
您必须添加指称服务,例如Jason James有非常详细的说明。
第2步:
您可以在函数应用
中打开App.xaml.cspublic Apps()
{
// Global handler for uncaught exceptions.
UnhandledException += Application_UnhandledException;
// Show graphics profiling information while debugging.
if (System.Diagnostics.Debugger.IsAttached)
{
// Display the current frame rate counters.
Application.Current.Host.Settings.EnableFrameRateCounter = true;
// Show the areas of the app that are being redrawn in each frame.
//Application.Current.Host.Settings.EnableRedrawRegions = true;
// Enable non-production analysis visualization mode,
// which shows areas of a page that are being GPU accelerated with a colored overlay.
//Application.Current.Host.Settings.EnableCacheVisualization = true;
}
// You can declare objects here that you will use
//Examlpe: NameservicesReferent.(Function that returns services) = new NameservicesReferent.(Function that returns services)();
Ws_Function = new Nameservices.ServiceSoapClient();
}
第3步:
在Mainpage.xaml.cs
中GlobalVariables.Ws_advertise.getLinkAdvertiseIndexCompleted += new EventHandler<advertise.getLinkAdvertiseIndexCompletedEventArgs>(Ws_advertise_getLinkAdvertiseIndexCompleted);
GlobalVariables.***NameWedservise***.getLinkAdvertiseIndexAsync("**parameters to be passed**");
第4步:
void Ws_advertise_getLinkAdvertiseIndexCompleted(object sender, advertise.getLinkAdvertiseIndexCompletedEventArgs e)
{
//function returns the results to you, the example here is an array
string[] array = null;
try
{
array = e.result;
if(array != null)
}
cath(exception ex)
{
}
finally
{
array = null;
GlobalVariables.Ws_advertise.getLinkAdvertiseIndexCompleted -= new EventHandler<advertise.getLinkAdvertiseIndexCompletedEventArgs>(Ws_advertise_getLinkAdvertiseIndexCompleted);
}
}