网上有几个类似的帖子,但似乎没有一个对我有用!
我有一个WCF网络服务,我无法使用我的C#项目,因为它给了我这个错误:
下载时出错 ' http://localhost:1940/MyService.svc/_vti_bin/Listdata.svc/ $元数据' 请求失败,HTTP状态为404:Not Found。元数据包含 无法解决的引用: ' http://localhost:1940/MyService.svc&#39 ;.远程服务器返回了 错误:(405)方法不允许。
我已经添加了服务引用,但是当我尝试更新时,我收到此错误。
调用错误中的任何一个网址都会给我一个404.
代码在服务器上正常运行,但不能在本地运行。但是我需要添加一个函数。
来自服务器的配置似乎是相同的,除了它使用完整的命名空间合同和类名,但是当我在本地项目中尝试它时,这对我不起作用。
配置的ServiceModel部分如下所示:
<system.serviceModel>
<services>
<service name="MyService">
<endpoint address="" binding="basicHttpBinding" contract="IMyService" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- 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>
</behaviors>
</system.serviceModel>
这里有明显的错误吗?这针对.NET 3.5
我尝试了服务名称的不同变体,包括完整的命名空间和没有,具有接口名称和类名,或两者(如此处所示)。
到目前为止我找到的所有建议都不同,似乎没有任何建议。
非常感谢任何帮助!
[编辑]
没有明显的理由我可以理解为什么这不起作用。
我整个周末都要睡觉,周一回来吧!
拥有一个好人。
[/编辑]
答案 0 :(得分:1)
在您的web.config文件中对<remove name="Documentation"/>
内的<webServices>
或密钥进行评论
<webServices>
<protocols>
<!--<remove name="Documentation"/>-->
</protocols>
</webServices>
答案 1 :(得分:0)
根据您发布的内容很难说清楚。但看起来你缺少绑定信息:
<bindings>
<basicHttpBinding>
<binding name="basicHttpDefaultBinding" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647" maxBufferSize="2147483647">
<readerQuotas maxArrayLength="2147483647" maxStringContentLength="2147483647" maxDepth="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="None">
<transport clientCredentialType="None" />
</security>
</binding>
</basicHttpBinding>
</bindings>
然后更新
<endpoint address="" binding="basicHttpBinding" contract="IMyService" />
到这个
<endpoint address="" binding="basicHttpBinding" bindingConfiguration="basicHttpDefaultBinding" contract="IMyService" />
答案 2 :(得分:0)
我开始了一个新项目,粘贴在旧项目的代码中,一切正常。
与第一个相同的配置。
如果我有时间,我很想知道两者之间的差异是什么,但是现在我很高兴它有效!