2009-09-06 68 views
0

我在Silverlight應用程序中有一個WCF服務方法,它將一些數據插入部署在共享GoDaddy服務器上的SQL Server數據庫中。有些方法可以工作,有些則不可以,但是當應用程序在本地運行時(使用本地數據庫),所有這些方法都可以工作。我得到通用的「遠程服務器返回一個錯誤:NotFound」,我似乎無法得到任何更多的信息。當我直接從服務類(不通過服務引用)運行該方法時,它可以正常工作。這裏是我的web.config服務部分:Silverlight WCF服務在部署時不起作用

<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> 

任何想法?

+0

我想你忘了包括你的serviceModel配置的其餘部分... – 2009-09-06 18:58:59

+0

爲了讓你的XML配置的東西出現,你需要選擇它,然後單擊「代碼」按鈕(010 101)在工具欄!否則,人們將無法看到它...... – 2009-09-06 19:39:41

+0

那麼,綁定配置沒有錯...... – 2009-09-06 21:03:41

回答

1

當您嘗試對不存在的網址執行請求時,通常會出現這種情況。例如,您希望某個服務位於http://hostname/path/Service.svc,但它實際上位於http://hostname/Service.svc

您的最佳操作方法是下載Web調試工具(Fiddler是一個不錯的選擇),並檢查從您的Silverlight客戶端發送到您的Web服務器的實際請求。很可能你會看到一些URL不正確的問題。

1

難道是你有一箇舊版本的dll部署在服務器端。這將解釋爲什麼一些工作,一些不工作。

如果情況並非如此,有什麼模式可行,哪些不行?