日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WCF-004:WCF中也可以使用Microsoft.Practices.EnterpriseLibrary

發布時間:2024/1/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WCF-004:WCF中也可以使用Microsoft.Practices.EnterpriseLibrary 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在WCF服務中我一直是使用ADO.NET 實體模型來連接數據和操作數據庫的,剛開始用時覺得比較新鮮,因為linq與sql語句的基本操作都有對應的使用方法,而且能直接獲取到數據表的模型,大多情況下還是比較好用的。不過偶爾的時候要涉及到多表關聯的復雜的sql語句的查詢,寫linq就比較麻煩了,要使用分步進行,就是先用linq查出一個條件,賦值給一個變量,然后再將這個變量作為下一個linq的查詢條件,不大利于修改sql語句的變動。
因為本人是比較喜歡用sql語句的,即使是在使用linq時,也是現將sql語句寫好,然后再轉換的。所以我也會在項目中少量的使用Microsoft.Practices.EnterpriseLibrary進行連接,直接使用sql語句增刪改查等。
Microsoft.Practices.EnterpriseLibrary生成的配置文件中的連接字符串格式和位置與ADO.NET 實體模型是一樣的,所以也便于對配置文件的維護。下面看一下在WCF服務應用程序中如何使用。其實和前面寫過的(http://blog.csdn.net/yysyangyangyangshan/article/details/8488791)用法是一樣的,再次回顧一下吧。
首先Microsoft.Practices.EnterpriseLibrary的下載安裝就不說了,直接搜索下載,新的舊的都可以,關鍵是在配置中把版本寫對就可以了。
直接看web.config的配置

<?xml version="1.0" encoding="utf-8"?> <configuration><configSections><!--添加配置企業庫(1)--><section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings,Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/></configSections><!--添加配置企業庫(2)--><dataConfiguration defaultDatabase="MyConnectionString"/><system.web><compilation debug="true" targetFramework="4.0" /></system.web><system.serviceModel><behaviors><serviceBehaviors><behavior><!-- 為避免泄漏元數據信息,請在部署前將以下值設置為 false 并刪除上面的元數據終結點 --><serviceMetadata httpGetEnabled="true"/><!-- 要接收故障異常詳細信息以進行調試,請將以下值設置為 true。在部署前設置為 false 以避免泄漏異常信息 --><serviceDebug includeExceptionDetailInFaults="false"/></behavior></serviceBehaviors></behaviors><serviceHostingEnvironment multipleSiteBindingsEnabled="true" /></system.serviceModel><system.webServer><modules runAllManagedModulesForAllRequests="true"/></system.webServer><connectionStrings><add name="MyConnectionString" connectionString="DATA SOURCE=數據庫名;Persist Security Info=True;User ID=用戶名;Password=密碼;Unicode=True" providerName="System.Data.OracleClient"/></connectionStrings></configuration>

其余用法都一樣
執行的方法:

public class OracleSqlHelper{private static Database db = null;public static DataSet GetDataTable(string commandText){try{DataSet resultDataSet = null;db = DatabaseFactory.CreateDatabase();//建立數據庫連接resultDataSet = db.ExecuteDataSet(CommandType.Text, commandText);//執行return resultDataSet;}catch (Exception ex){return null;}}public static DataSet GetDataTableByProcedure(string commandText){try{DataSet resultDataSet = null;db = DatabaseFactory.CreateDatabase();//建立數據庫連接resultDataSet = db.ExecuteDataSet(CommandType.StoredProcedure, commandText);//執行存儲過程return resultDataSet;}catch (Exception e){return null;}}}

你的調用方法:

public class OracleDataProvider {public static DataTable TestReadTable(string id){DataTable dataTable = null;try{string commandText = "select tu.name from tabUser tu";DataSet resultTable = OracleSqlHelper.GetDataTable(commandText);int table = resultTable != null ? resultTable.Tables.Count : 0;if (table > 0){dataTable = resultTable.Tables[0];}}catch (Exception e){throw e;}return dataTable;} }

代碼下載

轉載于:https://blog.51cto.com/yangyoushan/1315546

總結

以上是生活随笔為你收集整理的WCF-004:WCF中也可以使用Microsoft.Practices.EnterpriseLibrary的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。