部署时Silverlight WCF服务无法正常工作

时间:2009-09-06 18:54:35

标签: c# asp.net wcf silverlight

我在Silverlight应用程序中有一个WCF服务方法,它将一些数据插入到部署在共享GoDaddy服务器上的SQL Server数据库中。有些方法有效,有些方法没有,但是当应用程序在本地运行时(使用本地数据库),所有这些方法都有效。我得到通用“远程服务器返回错误:NotFound”,我似乎无法获得更多信息。当我直接从服务类(而不是通过服务引用)运行方法时,它可以正常工作。这是我的web.config的服务部分:

<system.serviceModel>
  <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
   <behaviors>
     <serviceBehaviors>
       <behavior name="default">
         <serviceMetadata httpGetEnabled="true" />
         <serviceDebug includeExceptionDetailInFaults="true" />
         <dataContractSerializer maxItemsInObjectGraph="6553600" />
       </behavior>
     </serviceBehaviors>
   </behaviors>

   <bindings>
     <basicHttpBinding>
       <binding name="BasicHttpBinding_IncreasedBuffer" 
                maxBufferSize="2147483647" maxBufferPoolSize="2147483647" 
                maxReceivedMessageSize="2147483647">
         <readerQuotas maxBytesPerRead="2147483647" maxDepth="2147483647" 
              maxArrayLength="2147483647" maxNameTableCharCount="2147483647"/>
       </binding>
     </basicHttpBinding>
   </bindings>
   <services>
     <service name="GreekTools.Services.DataService"
        behaviorConfiguration="default">
       <endpoint address="" binding="basicHttpBinding" 
                 bindingConfiguration="BasicHttpBinding_IncreasedBuffer"
                 contract="GreekTools.Contracts.IDataService" />
       <endpoint address="mex" binding="mexHttpBinding" 
                 contract="IMetadataExchange" />
     </service>
   </services>
 </system.serviceModel>

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

当您尝试对不存在的URL执行请求时,通常会出现这种情况。例如,您希望服务位于http://hostname/path/Service.svc,但它实际上位于http://hostname/Service.svc

您最好的做法是下载Web调试工具(Fiddler是一个不错的选择)并检查从Silverlight客户端发送到Web服务器的实际请求。很可能你会发现一个不正确的网址路径有问题。

答案 1 :(得分:1)

可能是您在服务器端部署了旧版本的dll。这可以解释为什么有些工作,有些则没有。

如果不是这种情况,那么有什么模式可行,哪些无效?