SQL Server数据库,wcf和WinForm

时间:2016-07-04 19:37:59

标签: c# .net sql-server winforms wcf

我有一个甜蜜的WinForm应用程序(在我的计算机上)和一个SQL Server数据库(在服务器X上)。我正在使用SqlConnection,一切正常。

但我不想更改它并使用WCF或其他技术在我的应用和数据库之间连接和切换信息。

我还有一台服务器用作应用服务器(服务器Y)。

我已经开始使用WCF:创建项目,创建安装程序。

在Y服务器上载并安装它。服务已启动,我也已将服务参考添加到我的WinForm应用程序,但ServiceClient无法正常运行。

当我调用ServiceClient的方法时,它会抛出异常:

  

mscorlib.dll中出现'System.ServiceModel.EndpointNotFoundException'类型的异常,但未在用户代码中处理

     

其他信息: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>

2 个答案:

答案 0 :(得分:0)

此错误与SQL端点无关。事实上,您不需要端点来将WCF连接到数据库。以下是您在另一篇文章中的答案。

EndpointNotFoundException - 404 - Hosting WCF Service over HTTPS in IIS through Visual Studio

答案 1 :(得分:0)

您有两个选择,如果在创建服务时修改了服务,您只需右键单击服务引用并配置服务引用即可。在弹出窗口中,您可以将Url更改为指向serverX,您的服务引用和配置文件将自动更新。

如果没有对服务进行任何更改,例如您的绑定类型或安全性,那么只需更新配置文件中的Url即可。