C# 在IIS上托管WCF服务
我不熟悉WCF和windows mobile开发。我正在尝试创建一个偶尔连接的应用程序,它利用MSFT同步框架,这需要使用WCF服务 我有一个包含智能设备项目、WCF服务库项目和WCF服务网站项目的visual studio项目 该服务在我的本地计算机上托管良好,不使用IIS,我可以在C# 在IIS上托管WCF服务,c#,visual-studio,wcf,iis,C#,Visual Studio,Wcf,Iis,我不熟悉WCF和windows mobile开发。我正在尝试创建一个偶尔连接的应用程序,它利用MSFT同步框架,这需要使用WCF服务 我有一个包含智能设备项目、WCF服务库项目和WCF服务网站项目的visual studio项目 该服务在我的本地计算机上托管良好,不使用IIS,我可以在http://localhost:55149/ElectricReadingServiceSite/ElectricReading.svc 但是,当我将其添加到IIS时,它会给我一个http 404资源找不到错误。
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>
非常感谢您的帮助
编辑:有没有什么工具或步骤可以让我更好地了解出了什么问题?404错误对我帮助不大。发生这种情况的原因有很多 其中一些可能包括:
- 确保已将程序集上载到Bin文件夹中
- 您已在IIS上设置了网站,但无法使用进行访问 正确的地址(确保端口正确)
- 未为网站设置应用程序池(如果您正在使用 .NET 4.0您需要在IIS管理器中将应用程序池设置为版本4.0)转到ApplicationPools并将池设置为您正在使用的.NET版本
尝试使用。它应该记录它所做的调用,从而为您提供更多关于它没有找到的内容的详细信息。发生这种情况的原因可能有很多 其中一些可能包括:
- 确保已将程序集上载到Bin文件夹中
- 您已在IIS上设置了网站,但无法使用进行访问 正确的地址(确保端口正确)
- 未为网站设置应用程序池(如果您正在使用 .NET 4.0您需要在IIS管理器中将应用程序池设置为版本4.0)转到ApplicationPools并将池设置为您正在使用的.NET版本
尝试使用。它应该记录它所做的调用,从而为您提供关于它找不到的内容的更多细节。您检查过iis配置吗?有时WCF不是默认随IIS安装的,您应该手动执行此操作。您是通过ServiceHost端口#(55149)访问URL,还是通过默认端口80(即普通URL)访问URL?您使用什么URL访问IIS上承载的WCF服务?@BojanSkrchevski我使用“”通过IIS访问它。(添加了别名为WCFTest的应用程序,并指向本地计算机上的WCF服务网站)-如果我查看内容视图,我可以看到所有内容(Web.config和.svc)@RoBYCoNTe如何确保正确配置?.svc在处理程序映射中,这就是我所需要的吗?是否检查了iis配置?有时WCF不是默认随IIS安装的,您应该手动执行此操作。您是通过ServiceHost端口#(55149)访问URL,还是通过默认端口80(即普通URL)访问URL?您使用什么URL访问IIS上承载的WCF服务?@BojanSkrchevski我使用“”通过IIS访问它。(添加了别名为WCFTest的应用程序,并指向本地计算机上的WCF服务网站)-如果我查看内容视图,我可以看到所有内容(Web.config和.svc)@RoBYCoNTe如何确保正确配置?.svc在处理程序映射中,这就是我所需要的吗?
<%@ ServiceHost Language="C#" Debug="true"
Service="MiddleTierServiceLibrary.ElectricReadingCacheSyncService" %>