我只玩了w / wc的东西大约一个星期。我让它在Visual Studio中的dev服务器上工作,现在我想将项目放在Web上。我使用Visual Studio中的发布将其添加到ftp。我的FTP客户端确认文件在那里,但是当我在浏览器中输入地址时,我收到以下错误:
>'/'应用程序中的服务器错误。 无法找到该资源。 说明:HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用。请查看以下网址,确保拼写正确。请求的网址:/EquipService.svc
我需要更改某些设置或我需要在服务器上进行一些设置吗?我不知道为什么它说文件不可用,因为FileZilla显示服务器上的文件。任何帮助,将不胜感激。 感谢
修改 这是Web.config,但作为前言,我不知道这是做什么的,我只是从其他人项目中复制了一些碎片,直到错误停止并且它起作用。 :|
<?xml version="1.0" encoding="UTF-8"?>
<protocolMapping>
<add scheme="http" binding="webHttpBinding" bindingConfiguration="webHttpBinding"/>
</protocolMapping>
<behaviors>
<endpointBehaviors>
<behavior>
<webHttp helpEnabled="true" automaticFormatSelectionEnabled="true"/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="metadataSupport">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true">
<baseAddressPrefixFilters>
<add prefix ="localhost"/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
<bindings>
<webHttpBinding>
<binding name="webHttpBinding">
<security mode="None">
</security>
</binding>
</webHttpBinding>
</bindings>
<services>
<service name="EquipService.svc">
<endpoint address="~/EquipService.svc" binding="webHttpBinding" contract="Equipment.IEquipService" />
<endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
</service>
</services>
我仍然不太了解服务在Visual Studio服务器上运行的原因,而不是在Web服务器上运行。
但是谢谢你的期待。
答案 0 :(得分:1)
我确实设法找出了问题的原因。这是服务器。由于某种原因,它的物理路径指向一个不正确的文件夹,现在球在他们的法院修理它。
感谢您的帮助
答案 1 :(得分:1)
使用WCFTestClient.exe测试您的服务。
我学到了很多东西。为服务创建一个单独的项目总是很好。
您可以创建一个Web服务,它可以使用localhost作为地址在同一个Web项目中使用。
我有一个场景,我试图通过我的网站的HTML页面使用javascript调用它,它不起作用,因为我在常规的webapp中创建了webservice。为了从javascript访问它我需要通过互联网发布该服务,以便javascript可以引用链接(而不是localhost)。