2016-07-04 3 views
0

У меня есть сладкое приложение WinForm (на моем компьютере) и база данных SQL Server (на сервере X). Я использую SqlConnection, и все работает нормально.База данных SQL Server, wcf и WinForm

Но я не хочу менять его и использовать WCF или другие технологии для подключения и переключения информации между моим приложением и базой данных.

У меня также есть еще один сервер для использования в качестве сервера приложений (сервер Y).

Я начал использовать WCF: созданный проект, созданный установщик.

Загрузил его на свой Y-сервер и установил его. Служба началась, также я добавил ссылку на службу в мое приложение WinForm, но ServiceClient работает неправильно.

Когда слово ServiceClient «метод с он выбрасывает исключение:

Исключение типа„System.ServiceModel.EndpointNotFoundException“произошло в mscorlib.dll, но не был обработан в пользовательском коде

Дополнительная информация : Не было прослушивание конечных точек на http://localhost:41272/service, которые могли бы принять сообщение. Это часто вызвано неправильным адресом или действием SOAP. Дополнительную информацию см. В InnerException, если имеется.

Как я думаю, моя конечная точка взрывает все.

Итак, я хочу, чтобы вы, ребята, помогли мне настроить конечную точку SQL.

Вот мой WCF-х web.config:

<?xml version="1.0"?> 
<configuration> 
    <system.web> 
     <compilation debug="true" targetFramework="4.5" /> 
     <httpRuntime /> 
     <pages controlRenderingCompatibilityVersion="4.0" /> 
    </system.web> 
    <system.serviceModel> 
     <behaviors> 
      <serviceBehaviors> 
       <behavior name="SampleSvcBehavior"> 
        <serviceDebug includeExceptionDetailInFaults="true" /> 
        <serviceMetadata httpGetEnabled="true" /> 
       </behavior> 
      </serviceBehaviors> 
     </behaviors> 
     <services> 
      <service behaviorConfiguration="SampleSvcBehavior" 
        name="FMG_WCF.FmgService"> 
       <endpoint name="SampleSvcBasicHttpEndPoint" 
        address="" 
        binding="basicHttpBinding" bindingConfiguration="" 
        contract="FMG_WCF.IFmgService" /> 
       <endpoint name="SampleSvcMexHttpEndPoint" 
        address="mex" 
        binding="mexHttpBinding" bindingConfiguration="" 
        contract="IMetadataExchange" /> 
       <host> 
        <baseAddresses> 
         <add baseAddress="http://localhost:41272/service" /> 
        </baseAddresses> 
       </host> 
      </service> 
     </services> 
    </system.serviceModel> 
</configuration> 
+0

'localhost: 41272' не является удаленной машиной. –

+0

спасибо, что ответ, Престон Гийо. уверен, что это не так. мой вопрос заключается в том, как настроить конечную точку для моего сервера. X –

+0

Я считаю, что вам не нужны конечные точки для сервера базы данных. вам просто нужна строка соединения для подключения к базе данных из вашей службы WCF. – Dileep

ответ

0

У вас есть два варианта, если услуга была изменена с момента, когда вы создали его, вы можете просто щелкните правой кнопкой мыши по ссылке службы и настроить ссылку на службу. Во всплывающем меню вы можете изменить Url, чтобы указать на serverX, и ваш служебный справочный файл и файл конфигурации будут автоматически обновляться.

Если никаких изменений в услуге не было, например, вашего типа привязки или безопасности, необходимо просто обновить Url в файле конфигурации.

Смежные вопросы