【发布时间】:2014-01-08 06:28:33
【问题描述】:
错误
错误:无法从 localhost:81/WebServices/Legacy.svc 如果这是 Windows (R) 请访问您有权访问的通信基础服务 检查您是否已在指定位置启用元数据发布 地址。有关启用元数据发布的帮助,请参阅 MSDN 文档位于 http://go.microsoft.com/fwlink/?LinkId=65455.WS-Metadata交流 错误 URI:localhost:81/WebServices/Legacy.svc 元数据 包含无法解析的引用: 'localhost:81/WebServices/Legacy.svc'。
我的 Web.Config
<system.serviceModel> <services> <service name="Web.WebServices.Legacy" behaviorConfiguration="serviceBehaviorsZero"> <endpoint address="" name="SspService" binding="basicHttpBinding" bindingConfiguration="basicHttpBindingZero" contract="Web.WebServices.ILegacy" /> <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" /> </service> </services> <bindings> <basicHttpBinding> <binding name="basicHttpBindingZero"> <security mode="None"> </security> </binding> </basicHttpBinding> </bindings> <behaviors> <serviceBehaviors> <behavior name="serviceBehaviorsZero"> <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="false" /> </behavior> </serviceBehaviors> </behaviors> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> </system.serviceModel>
为什么我无法使用 WCF 测试客户端访问我的网络服务?
当我在浏览器中通过 URL localhost:81/WebServices/Legacy.svc 访问时 我收到这个错误 文件名、目录名或卷标语法不正确。
更新:我的 .svc 文件代码
<%@ ServiceHost Language="C#" Debug="true" Service="Web.WebServices.Legacy" CodeBehind="Legacy.svc.cs" %>
[ServiceBehavior(AddressFilterMode = AddressFilterMode.Any)]
public class Legacy : ILegacy
{
public string DoWork()
{
return "https";
}
}
【问题讨论】:
-
你能显示.svc文件的内容吗?
-
您有
mexHttpsBinding- 可能将其更改为mexHttpBinding,或者将测试客户端更改为指向本地 HTTPS 端点? -
@Chris: 标记: C# 代码:命名空间 Web.WebServices { [ServiceBehavior(AddressFilterMode = AddressFilterMode.Any)] public class Legacy: ILegacy { public string DoWork() { return "OK"; } } }
标签: asp.net-mvc wcf web-services wcf-data-services wcf-binding