Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在IIS上托管WCF服务_C#_Visual Studio_Wcf_Iis - Fatal编程技术网

C# 在IIS上托管WCF服务

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资源找不到错误。

我不熟悉WCF和windows mobile开发。我正在尝试创建一个偶尔连接的应用程序,它利用MSFT同步框架,这需要使用WCF服务

我有一个包含智能设备项目、WCF服务库项目和WCF服务网站项目的visual studio项目

该服务在我的本地计算机上托管良好,不使用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>
非常感谢您的帮助


编辑:有没有什么工具或步骤可以让我更好地了解出了什么问题?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" %>