2009-09-06 2 views
0

У меня есть метод службы WCF в приложении Silverlight, который вставляет некоторые данные в базу данных SQL Server, развернутую на общем сервере GoDaddy. Некоторые из этих методов работают, а некоторые - нет, но все они работают, когда приложение выполняется локально (с локальной базой данных). Я получаю общий «Удаленный сервер возвратил ошибку: 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

Я думаю, что вы забыли включить остальную часть вашего сервисаModel config ... –

+0

, чтобы ваши файлы конфигурации XML отображались, вам нужно выбрать его, а затем нажать кнопку «код» (010 101) в панель инструментов! В противном случае люди не смогут это увидеть ... –

+0

Ну, нет ничего плохого в конфигурации привязки ... –

ответ

1

Это обычно бывает, когда вы пытаетесь выполнить запрос на URL-адрес, который не существует. Например, вы ожидаете, что услуга будет равна http://hostname/path/Service.svc, но она фактически проживает в http://hostname/Service.svc.

Ваш лучший курс - загрузить инструмент для веб-отладки (Fiddler - хороший выбор) и проверить фактические запросы, отправленные с вашего клиента Silverlight на ваш веб-сервер. Вероятно, вы увидите некоторые проблемы с неправильным URL-адресом.

1

Возможно, у вас установлена ​​более старая версия dll, развернутая на стороне сервера. Это объясняет, почему некоторые работы, а некоторые нет.

Если это не так, есть ли какой-либо шаблон в том, что работает, а что нет?