2012-08-30 72 views
0

嗨我有一个WCF同步服务托管IIS7在我的服务器上,我可以访问浏览器中的URL,其实我建立了WCF服务,后来我添加了一个wcf服务网站到我的解决方案,通过添加我的wcf服务参考。并在service.svc文件中提到了特定的服务。在WCF网站的web.config看起来像远程服务器返回错误:(404)未找到。 WCF Web异常

<configuration> 
    <system.serviceModel> 
    <services> 
     <service behaviorConfiguration="ServiceBehavior" name="SimGuru_WCF.SimGuruDBCacheSyncService"> 
     <endpoint address="" binding="basicHttpBinding" bindingConfiguration="" 
      contract="SimGuru_WCF.ISimGuruDBCacheSyncContract"> 
      <identity> 
      <dns value="localhost" /> 
      </identity> 
     </endpoint> 
     <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> 
     </service> 
    </services> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior name="ServiceBehavior"> 
      <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment --> 
      <serviceMetadata httpGetEnabled="true"/> 
      <!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information --> 
      <serviceDebug includeExceptionDetailInFaults="false"/> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    </system.serviceModel> 
</configuration> 

当我试图访问它给我的“远程服务器返回错误:(404)未找到”的服务,但仍我可以访问通过URL 而app.config文件服务

<configuration> 

    <configSections> 
    </configSections> 
    <connectionStrings> 
    <add name="SimGuru_WCF.Properties.Settings.ServerSimGuru_RetailConnectionString" 
     connectionString="Data Source=SIMGURU\SQLEXPRESS;Initial Catalog=SimGuru_Retail;Integrated Security=True" 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
    <system.web> 
    <compilation debug="true" /> 
    </system.web> 
    <!-- When deploying the service library project, the content of the config file must be added to the host's 
    app.config file. System.Configuration does not support config files for libraries. --> 
    <system.serviceModel> 
    <bindings> 
     <basicHttpBinding> 
     <binding name="BasicHttpBinding_ISimGuruDBCacheSyncContract" closeTimeout="00:01:00" 
      openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" 
      allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" 
      maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" 
      messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" 
      useDefaultWebProxy="true"> 
      <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" 
      maxBytesPerRead="4096" maxNameTableCharCount="16384" /> 
      <security mode="None"> 
      <transport clientCredentialType="None" proxyCredentialType="None" 
       realm="" /> 
      <message clientCredentialType="UserName" algorithmSuite="Default" /> 
      </security> 
     </binding> 
     </basicHttpBinding> 
    </bindings> 
    <services> 
     <service behaviorConfiguration="SimGuru_WCF.SimGuruDBCacheSyncServiceBehavior" 
     name="SimGuru_WCF.SimGuruDBCacheSyncService"> 
     <endpoint address="" binding="basicHttpBinding" contract="SimGuru_WCF.ISimGuruDBCacheSyncContract"> 
      <identity> 
      <dns value="10.0.1.42"/> 
      </identity> 
     </endpoint> 
     <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> 
     <host> 
      <baseAddresses> 
      <add baseAddress="http://10.0.1.42:8731/SimGuruDBCacheSyncService/" /> 
      </baseAddresses> 
      <timeouts closeTimeout="00:01:10" openTimeout="00:09:00" /> 
     </host> 
     </service> 
    </services> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior name="SimGuru_WCF.SimGuruDBCacheSyncServiceBehavior"> 
      <!-- To avoid disclosing metadata information, 
      set the value below to false and remove the metadata endpoint above before deployment --> 
      <serviceMetadata httpGetEnabled="True"/> 
      <!-- To receive exception details in faults for debugging purposes, 
      set the value below to true. Set to false before deployment 
      to avoid disclosing exception information --> 
      <serviceDebug includeExceptionDetailInFaults="False" /> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    </system.serviceModel> 
    <system.diagnostics> 
    <sources> 
     <source name="System.ServiceModel" 
       switchValue="Information, ActivityTracing" 
       propagateActivity="true"> 
     <listeners> 
      <add name="traceListener" 
       type="System.Diagnostics.XmlWriterTraceListener" 
       initializeData="c:\log\Traces.svclog" /> 
     </listeners> 
     </source> 
    </sources> 
    </system.diagnostics> 
</configuration> 

可以有一个人请帮我提前解决这问题出

感谢

+0

请新增服务客户端的配置。 –

+0

其实我建立了服务器和客户端,我的本地系统,这是一个使用本地数据库缓存的wcf同步服务。现在我又添加了一个wcf服务网站,并为此添加了对wcf项目的引用,即我在服务器上放置了不同的计算机,同时访问服务时它给了我这个错误 – Srikanth

+0

将10.0.1.42替换为localhost –

回答

0

我得到了它,使用跟踪我能整理我的问题

<diagnostics> 
         <messageLogging maxMessagesToLog="30000" 
           logEntireMessage="true" 
           logMessagesAtServiceLevel="true" 
           logMalformedMessages="true" 
           logMessagesAtTransportLevel="true"> 
         </messageLogging> 
       </diagnostics> 
    </system.serviceModel> 
<system.diagnostics> 
       <sources> 
         <source name="System.ServiceModel" 
           switchValue="Verbose, ActivityTracing" 
           propagateActivity="true" > 
           <listeners> 
             <add name="xml" /> 
           </listeners> 
         </source> 
         <source name="System.ServiceModel.MessageLogging" 
           switchValue="Verbose"> 
           <listeners> 
             <add name="xml" /> 
           </listeners> 
         </source> 
       </sources> 
       <sharedListeners> 
         <add name="xml" 
           type="System.Diagnostics.XmlWriterTraceListener" 
           initializeData="e2eTraceTest.e2e" /> 
       </sharedListeners> 
       <trace autoflush="true" /> 
     </system.diagnostics> 

跟踪查看解释我哪里做错了一件事是与SQL服务器的安全问题,多过我甚至不在我的网络中有一个连接字符串属性。配置文件我有一个关于WCF服务但不能在WCF网站 任何它是如何解决

感谢大家的通力合作

相关问题