0

我正在尝试设置一个返回 JSON 对象的 Web 服务,并且我正在按照本教程进行操作,但是当我尝试运行它时出现此错误

错误:无法从中获取元数据http://localhost:10995/Service1.svc 如果这是您有权访问的 Windows (R) Communication Foundation 服务,请检查您是否已在指定地址启用元数据发布。有关启用元数据发布的帮助,请参阅位于 http://go.microsoft.com/fwlink/?LinkId=65455.WS-Metadata Exchange 错误 URI 的 MSDN 文档:http://localhost:10995/Service1.svc 元数据包含无法解析的引用:'localhost:10995 /Service1.svc'。远程服务器返回意外响应:(405) 方法不允许。远程服务器返回错误:(405) Method Not Allowed.HTTP GET Error URI: http://localhost:10995/Service1.svc There was an error download http://localhost:10995/Service1.svc。请求失败,HTTP 状态为 404:未找到。

所以我尝试查找这意味着什么并遇到这些链接以尝试修复它

WCF - 无法获取元数据

WCF - 错误:无法获取元数据

错误:无法从 WCF 服务获取元数据

WCF 测试客户端无法添加服务,无法获取元数据

但他们都没有解决问题。这是我第一次尝试做任何类型的网络服务,我今天开始研究,所以显然我对这一切都是新手。

这个错误是什么意思,我该如何修复它以便我可以测试它?

<system.serviceModel>
<services>
  <service name="WcfService4.Service1" behaviorConfiguration="WcfService4.Service1Behavior">
    <!-- Service Endpoints -->
    <endpoint address="../Service1.svc"
      binding="webHttpBinding"
      contract="WcfService4.IService1"
      behaviorConfiguration="webBehaviour" />
  </service>
</services>
<behaviors>
  <serviceBehaviors>
    <behavior name="WcfService4.Service1Behavior">
      <!-- To avoid disclosing metadata information, set the value below to false before deployment -->
      <serviceMetadata httpGetEnabled="true"/>
      <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
      <serviceDebug includeExceptionDetailInFaults="false"/>
    </behavior>
  </serviceBehaviors>
  <endpointBehaviors>
    <behavior name="webBehaviour">
      <webHttp/>
    </behavior>
  </endpointBehaviors>
</behaviors>

4

3 回答 3

0

use namespace name with your service name and contract name... See the code snippet below:

<service name="WcfService3.Service1"
 behaviorConfiguration="ServiceBehavior">
>         
<endpoint address="../Service1.svc" binding="wsHttpBinding" contract="WcfService3.IService1">

where "WcfService3" is the namespcae.

于 2013-09-27T09:18:07.420 回答
0

尝试这个

<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
于 2012-12-03T04:16:24.710 回答
0

它不仅仅是一个错字是吗?

contract="WcfService4e.IService1" 

它应该是

contract="WcfService4.IService1"
于 2012-12-03T04:05:41.277 回答