【发布时间】:2012-01-04 18:07:52
【问题描述】:
我是 WCF 和 windows 移动开发的新手。我正在尝试创建一个使用 MSFT 同步框架的偶尔连接的应用程序,这需要使用 WCF 服务。
我有一个 Visual Studio 项目,其中包含我的智能设备项目、一个 WCF 服务库项目和一个 WCF 服务网站项目。
该服务托管在我的本地机器上,不使用 IIS,我可以通过 http://localhost:55149/ElectricReadingServiceSite/ElectricReading.svc 访问它
但是,当我将它添加到 IIS 时,它会给我一个 http 404 资源找不到错误。我无法弄清楚为什么它认为资源不存在。
这是我的 web.config:
<?xml version="1.0"?>
<configuration>
<system.serviceModel>
<services>
<service name="MiddleTierServiceLibrary.ElectricReadingCacheSyncService"
behaviorConfiguration="MiddleTierServiceLibrary.ElectricReadingCacheSyncServiceBehavior">
<endpoint
address=""
binding="basicHttpBinding"
contract="MiddleTierServiceLibrary.IElectricReadingCacheSyncContract">
<identity>
<dns value="10.104.238.123"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MiddleTierServiceLibrary.ElectricReadingCacheSyncServiceBehavior">
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
我的ElectricReading.svc 看起来像这样:
<%@ ServiceHost Language="C#" Debug="true"
Service="MiddleTierServiceLibrary.ElectricReadingCacheSyncService" %>
非常感谢任何帮助!
编辑:我可以采取任何工具或步骤来更好地了解问题所在吗? 404 错误对我帮助不大。
【问题讨论】:
-
你检查过iis配置吗?有时 WCF 没有默认安装在 IIS 中,您应该手动执行此操作。
-
您是通过ServiceHost端口号(55149)还是通过默认端口80(即纯URL)访问URL?
-
您使用什么 URL 来访问托管在 IIS 上的 WCF 服务?
-
@BojanSkrchevski 我正在使用“localhost/WCFTest/ElectricReading.svc”通过 IIS 访问它。 (添加了别名 WCFTest 的应用程序并指向本地计算机上的 WCF 服务网站) - 如果我查看内容视图,我可以看到所有内容(web.config 和 .svc)
-
@RoBYCoNTe 你如何确保它配置正确? .svc 在 Handler Mappings 中,这就是我所需要的吗?
标签: c# visual-studio wcf iis