我有以下代码用于使用不适合我的服务。任何人都可以建议我可以做些什么来缩小什么是错误的?我知道这很模糊,所以请告诉我你需要提供什么建议。
地址是:http://localhost:57667/ExampleService.svc/
直接访问时,我会收到“您已创建服务...消息”
出错的代码就在这里。它会导致以下错误:
_url = "http://localhost:57667/ExampleService.svc";
TextReader textReader = new StringReader(HttpPostClient.Post(new Uri(_url), bodyData.ToString(), _exampleServiceRequestEncoding, Properties.Settings.Default.HttpPostClientExampleAvailabilityTimeout));
错误消息: 直接访问此网址时:http://localhost:57667/ExampleService.svc/ProcessRequest
The exception message is 'No component for key example.ExternalWebServiceStubs.Example.ExampleService was found'.
Castle.MicroKernel.DefaultKernel.get_Item(String key) at Castle.Facilities.WcfIntegration.WindsorInstanceProvider.GetInstance
非常感谢,
答案 0 :(得分:1)
通常的做法是通过svcutil.exe(visual studio命令提示符)或“添加服务引用”来创建代理类以使用该服务,然后让您使用代理类的方法来调用您的服务方法
本教程应该有所帮助(它基于Visual Studio 2005,您没有说明您使用的是哪个版本,但您应该获得良好的基础)
http://msdn.microsoft.com/en-us/library/bb332338.aspx#msdnwcfhc_topic6
答案 1 :(得分:0)
在服务端同时提供web.config元素时,解决wcf服务会更容易。
我的一般猜测是,默认情况下所有wcf服务都使用wsHttpBinding,它不允许直接调用服务,就像我们所做的asmx服务一样。
您可以使用basicHttpBinding替换wsHttpBinding并禁用服务的安全性,以使服务像您期望的那样工作。
请添加有关ExampleService.svc绑定的更多详细信息,它将帮助您快速解决此问题
希望这会有所帮助