在IIS上托管WCF服务
问题描述:
我是WCF和Windows移动开发的新手。我试图创建一个偶尔连接的应用程序,它利用MSFT同步框架,这需要使用WCF服务。在IIS上托管WCF服务
我有一个包含我的智能设备项目,WCF服务库项目和WCF服务网站项目的Visual Studio项目。
服务托管我的本地机器罚款不使用IIS,当我把它添加到IIS它给了我一个HTTP 404资源找不到错误,我可以在http://localhost:55149/ElectricReadingServiceSite/ElectricReading.svc
访问它不过。我无法弄清楚为什么它认为资源不存在。
这里是我的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错误对我帮助不大。
答
可能有多种原因会导致这种情况发生。
他们有些人可能包括:
- 确保您上传Bin文件夹
- 您已经设置了在IIS网站的组装,但你不与 正确的地址访问它(确保端口是正确的)
- 您的应用程序池没有为网站设置(如果您使用的是.NET 4.0,则需要将应用程序池设置为4.0版)在IIS管理器中,转到ApplicationPools并设置池到您正在使用的.NET版本
尝试使用Fiddler。它应该记录它所做的调用,并因此给你一些它没有找到的细节。
您是否检查过iis配置?有时候WCF不是默认安装在IIS上的,你应该手动执行此操作。 – 2012-01-04 18:13:59
您正在访问URL ServiceHost端口#(55149),还是默认端口80(即普通URL)? – jklemmack 2012-01-04 18:18:41
您使用什么URL访问IIS上托管的WCF服务? – TheBoyan 2012-01-04 18:23:10