开发WCF服务和Windows Phone应用程序
我创建了一个测试WP7应用程序,它使用WCF来获取一些示例数据
我添加了服务作为服务引用以及生成的类。在应用中,我拨打服务:开发WCF服务和Windows Phone应用程序
var service = new TestService.TestServiceClient();
service.GetDataCompleted += new EventHandler<TestService.GetDataCompletedEventArgs>(service_GetDataCompleted);
service.GetDataAsync(new TestService.GetDataRequest());
从服务调用回调
,我得到以下异常:
There was no endpoint listening at http://localhost:8219/TestService.svc that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.
内部异常说:
The remote server returned an error: NotFound.
当调试时,cassini dev服务器启动。我可以通过Visual Studio中没有问题,访问来自Internet Explorer中的SVC,看到WSDL等
生成的配置文件:
<?xml version="1.0" encoding="utf-8"?>
<configurationSnapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:schemas-microsoft-com:xml-wcfconfigurationsnapshot">
<behaviors />
<bindings>
<binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:<?xml version="1.0" encoding="utf-16"?><Data maxBufferSize="2147483647" name="BasicHttpBinding_ITestService"><security mode="None" /></Data>" bindingType="basicHttpBinding" name="BasicHttpBinding_ITestService" />
</bindings>
<endpoints>
<endpoint normalizedDigest="<?xml version="1.0" encoding="utf-16"?><Data address="http://localhost:8219/TestService.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ITestService" contract="TestService.ITestService" name="BasicHttpBinding_ITestService" />" digest="<?xml version="1.0" encoding="utf-16"?><Data address="http://localhost:8219/TestService.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ITestService" contract="TestService.ITestService" name="BasicHttpBinding_ITestService" />" contractName="TestService.ITestService" name="BasicHttpBinding_ITestService" />
</endpoints>
</configurationSnapshot>
任何想法?
您是否尝试过从您正在运行的实际手机/模拟器*问来自IE浏览器的svc URI?
如果无法执行此操作,请检查手机上的代理设置。
如果是实际的手机,只有通过USB连接到PC才能工作。
我看到了模拟器(出于某种未知原因)停止了能够进行网络连接的问题,即使部署了新代码并运行/调试了新代码。重新启动模拟器解决了这个问题。
创建的自动的嗨!抱歉耽搁了。我使用Windows Phone模拟器,而不是真正的手机。我刚刚尝试将网址粘贴到模拟器的浏览器中,并且可以毫无问题地访问它。任何其他的想法? (我无法通过重新启动模拟器来解决此问题) – 2011-05-18 15:07:49
您是否尝试过使用WebClient.DownloadStringAsync()从应用程序中向URI发出请求,以查看它是网络问题还是您配置服务。 – 2011-05-18 15:38:15
从应用程序内,指定的功能正在返回正确的服务的HTML – 2011-05-19 19:37:07
请在您的文章中包含您的配置。可能配置不好以使用该实际端点。也是同样的解决方案?如果你是发现并将其添加到客户项目中的? – 2011-05-13 08:07:05
这是相同的解决方案。我做了一个发现 – 2011-05-13 08:24:40
你使用什么类型的绑定? – 2011-05-13 08:26:35