簡體   English   中英

WCF用於遠程SQL連接?

[英]WCF for remote SQL connection?

我現有的情況如下:

我有一個位於主要公司辦公室的SQL Server。 該公司還有一個相距60英里的分支機構。

我在主辦公室的計算機中安裝了WPF應用程序,分支機構連接到主辦公室的SQL Server以打印記錄等。

我在app.config文件中指定連接參數,如下所示:

<add name="CompanyEntities" connectionString="metadata=res://*/LabModel.csdl|res://*/LabModel.ssdl|res://*/LabModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=publicIPaddress of remote SQL here;Initial Catalog=databasename;Persist Security Info=True;User ID=sa;Password=password;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

我的問題是分支中的應用程序有時會永遠掛起。 因此,我的問題是使用WCF連接到遠程SQL Server是否是最佳實踐?

哪種方法最好呢? 是否有任何鏈接最能說明這一點?

在當前情況下,WCF對您毫無用處。 如果編寫用於管理數據庫連接的服務器端應用程序,則可以使用WCF將數據發送到客戶端。 但是,這還要求您的客戶端軟件也適合使用WCF,但在這種情況下,您的客戶端將無法訪問數據庫(您將從兩層體系結構更改為三層體系結構)。 它可能會解決您的問題,並且可能會引入其他一些問題。

您描述的懸掛問題可能是由許多原因引起的。 例如,您可能會用完數據庫連接,陷入僵局(盡管該事務通常會由服務器終止),或者只是對正在編輯的數據有一個鎖定,而使用它的員工會休息一下。

也有可能問題出在數據庫連接上,而不是客戶端代碼中。 由於我沒有詳細信息,因此我無法告訴您更多具體信息。

選擇您選擇的措辭,我認為您不會使用WCF“ 連接到遠程SQL服務器 ”。 但是,您當然可以使用WCF托管一項服務,該服務可以為客戶端(WPF應用程序)提供對數據的安全訪問,盡管它可以間接進行。 這種方法將與您當前擁有的方法完全不同:直接從WPF應用訪問服務器。

盡管我自己沒有使用過它,但我相信一種方法可能是WCF Data Services 如果您只需要在服務中執行一些操作(例如GetRecord)以進行打印,則還可以滾動自己的WCF服務,該服務僅向客戶端應用程序提供“記錄”。 關於WCF的任何入門書籍或教程都可能助您一臂之力。


以上回答了您似乎要問的問題 但是,WCF並不能為您解決連接問題:如果您說“應用程序在某些時候永遠掛起”,則無論如何都應進行調查。 但這是一個不同的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM