在WebService中使用Microsoft.Practices.EnterpriseLibrary.Data配置数据库
1、 新建WebApplication1项目
1.1 新建—Web—ASP.NET Empty Web Application--WebApplication1
1.2 添加一个WebForm1
2、 新建webService项目
2.1 新建—Web—ASP.NET Empty Web Application—WebApplicationService
2.2 选择WebApplicationService—右键—Add—WebService (ASMX)-- WebServiceGSS.asmx
2.3 在项目WebApplicationService中添加引用
Microsoft.Practices.EnterpriseLibrary.Data.dll(版本4.1)
Microsoft.Practices.EnterpriseLibrary.Common.dll(版本4.1)
注意,如果报错,Microsoft.Practices.EnterpriseLibrary.Common”類型不能實例化之類的,
可能解決方法:Microsoft.Practices.ObjectBuilder.dll加到References中就哦啦~~~
写服务中的方法,
文件WebServiceGSS.asmx代码:
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Linq;
- using System.Web;
- using System.Web.Services;
- namespace WebApplicationService
- {
- [WebService(Namespace = "http://Mercer.GlobalSwitchingService/2008/09", Name = "GlobalSwitchingService")]
- [System.Web.Services.WebServiceBindingAttribute(ConformsTo = System.Web.Services.WsiProfiles.BasicProfile1_1, EmitConformanceClaims = true, Name = "GlobalSwitchingService")]
- [ToolboxItem(false)]
- public class WebServiceGSS : System.Web.Services.WebService
- {
- [WebMethod]
- public string HelloWorld()
- {
- return "Hello World";
- }
- [WebMethod(Description = "Returns a list of ReportServerURL one is for source another is for destination")]
- public DataSet GetReportServerURL(Guid sourceClientID, Guid destinationClientID)
- {
- return GSSDML.GetReportServerURL(sourceClientID, destinationClientID);
- }
- [WebMethod(Description = "Returns a list of Roles")]
- public DataSet GetReportRole()
- {
- return GSSDML.GetRole();
- }
- }
- }
文件GSSDML.cs代码(和WebServiceGSS.asmx分开,条理清楚些)
- using Microsoft.Practices.EnterpriseLibrary.Data;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Data.Common;
- using System.Data.SqlClient;
- using System.Linq;
- using System.Web;
- namespace WebApplicationService
- {
- public class GSSDML
- {
- private const string DB_GSS = "DB_GSS";
- private const string DB_FAS = "DB_FAS";
- public static DataSet GetReportServerURL(Guid sourceClientID, Guid destinationClientID)
- {
- SqlDataAdapter adapter = new SqlDataAdapter();
- DataSet ds = new DataSet();
- try
- {
- using (DbConnection con = DatabaseFactory.CreateDatabase(DB_GSS).CreateConnection())
- {
- adapter = new SqlDataAdapter();
- adapter.SelectCommand = new SqlCommand();
- adapter.SelectCommand.Connection = con as SqlConnection;
- adapter.SelectCommand.CommandText = "getStudentTable";
- adapter.SelectCommand.CommandType = CommandType.StoredProcedure;
- //adapter.SelectCommand.Parameters.Add(new SqlParameter("@SourceClientID", sourceClientID));
- //adapter.SelectCommand.Parameters.Add(new SqlParameter("@DestinationClientID", destinationClientID));
- con.Open();
- adapter.Fill(ds);
- }
- }
- catch
- {
- }
- return ds;
- }
- public static DataSet GetRole()
- {
- SqlDataAdapter adapter = new SqlDataAdapter();
- DataSet ds = new DataSet();
- try
- {
- using (DbConnection con = DatabaseFactory.CreateDatabase(DB_FAS).CreateConnection())
- {
- adapter = new SqlDataAdapter();
- adapter.SelectCommand = new SqlCommand();
- adapter.SelectCommand.Connection = con as SqlConnection;
- adapter.SelectCommand.CommandText = " SELECT * from [dbo].[Role]";
- adapter.SelectCommand.CommandType = CommandType.Text;
- con.Open();
- adapter.Fill(ds);
- }
- }
- catch
- {
- }
- return ds;
- }
- }
- }
服务中的Config文件
- <?xml version="1.0"?>
- <!--
- For more information on how to configure your ASP.NET application, please visit
- http://go.microsoft.com/fwlink/?LinkId=169433
- -->
- <configuration>
- <connectionStrings>
- <add name="DB_GSS" connectionString="Database=Test; Server=.; User ID=sa;Password=123;Connection Timeout=90;MultipleActiveResultSets=true;" providerName="System.Data.SqlClient"/>
- <add name="DB_FAS" connectionString="Database=fas; Server=.; User ID=sa;Password=123;Connection Timeout=90;MultipleActiveResultSets=true;" providerName="System.Data.SqlClient"/>
- </connectionStrings>
- <system.web>
- <compilation debug="true" targetFramework="4.5.2" />
- <httpRuntime targetFramework="4.5.2" />
- </system.web>
- </configuration>
3、添加WebService引用
4、添加完成后会出现一个Settings.settings和Web References
5、在WebForm1.aspx.cs中写测试代码
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- namespace WebApplication1
- {
- public partial class WebForm1 : System.Web.UI.Page
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- web();
- }
- public void web()
- {
- ServiceWeb.GlobalSwitchingService serviceWeb = new ServiceWeb.GlobalSwitchingService();
- //serviceWeb.Url = "http://localhost:25003/WebServiceGSS.asmx";
- //在setting中配置url
- //serviceWeb.Url = Properties.Settings.Default.GlobalSwitchingService;
- //在config中配置url
- //serviceWeb.Url = System.Configuration.ConfigurationManager.AppSettings["GlobalSwitchingService"];
- string s = serviceWeb.HelloWorld();
- Guid id = new Guid();
- DataSet ds = serviceWeb.GetReportServerURL(id, id);
- DataSet ds2 = serviceWeb.GetReportRole();
- }
- }
- }
6、如果想自定义服务的端口号,可以在属性的web页设置
在WebService中使用Microsoft.Practices.EnterpriseLibrary.Data配置数据库的更多相关文章
- Microsoft.Practices.EnterpriseLibrary.Logging的使用
翻译 原文地址:http://www.devx.com/dotnet/Article/36184/0/page/1 原文作者:Thiru Thangarathinam (好强大的名字) 翻译: fl ...
- c# 之 Microsoft.Practices.EnterpriseLibrary连接Oracle
首先下载Microsoft Enterprise Library 5.0:http://www.microsoft.com/en-us/download/details.aspx?id=15104,这 ...
- Microsoft.Practices.EnterpriseLibrary
项目中使用了Microsoft.Practices.EnterpriseLibrary这个东西,根据名字猜测和微软有关系(可以翻译为:微软实践企业库). 看到了引入了两个命名空间: using Mic ...
- Could not load file or assembly 'Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, ...
使用oracle数据库一个多月依赖这问题一直都得不到解决,最近任务不是很忙了,所以决定把这问题解决掉.写一篇文章做记录. 以上错误主要是net程序oracle数据库使用了Microsoft Enter ...
- 缓存篇~第六回 Microsoft.Practices.EnterpriseLibrary.Caching实现基于方法签名的数据集缓存
返回目录 这一讲中主要是说EnterpriseLibrary企业级架构里的caching组件,它主要实现了项目缓存功能,它支持四种持久化方式,内存,文件,数据库和自定义,对于持久化不是今天讨论的重要, ...
- VS - Microsoft.Practices.EnterpriseLibrary.Logging
string fileName = AppDomain.CurrentDomain.BaseDirectory + "\\log.txt";File.AppendAllText(f ...
- 错误:创建 cachingConfiguration 的配置节处理程序时出错: 未能加载文件或程序集“Microsoft.Practices.EnterpriseLibrary.Caching,
问题: 错误:创建 cachingConfiguration 的配置节处理程序时出错: 未能加载文件或程序集“Microsoft.Practices.EnterpriseLibrary.Caching ...
- Microsoft.Practices.EnterpriseLibrary企业库问题
System.Configuration.ConfigurationErrorsException: Invalid TraceListenerData type in configuration ' ...
- java如何实现webservice中wsdlLocation访问地址的可配置化
背景:项目中调用了别的系统的webservice接口,调用成功之后发现wsdlLocation的地址是写死的,不方便修改,所以需要实现地址,包括用户名密码的可配置.项目的框架是Spring,调用web ...
随机推荐
- 0103 最短Hamilton路径【状压DP】
0103 最短Hamilton路径 0x00「基本算法」例题 描述 给定一张 n(n≤20) 个点的带权无向图,点从 0~n-1 标号,求起点 0 到终点 n-1 的最短Hamilton路径. Ham ...
- Hadoop-eclipse插件配置
1.准备jar包与安装eclipse. 2.将jar包拷贝到eclipse/plugin.
- (转) C#解惑:HashSet<T>类
HashSet<T>是一个相对“冷门”的类型,平时在项目中用得不多,但是在特定的业务中可以大用. 先来了解下HashSet<T>类,主要被设计用来存储集合,做高性能集运算,例如 ...
- 和java面试不得不说的故事
一直都没有想到,可以有机会可以面试他人,很感谢现在的公司,给我不少的机会可以尝试从不同方面尝试一些工作,在入职现公司之前也作为面试者参加过不少面试,不过还好,面试通过率都还好,大部分是待遇谈不拢.现在 ...
- POJ 1113 Wall(凸包)
[题目链接] http://poj.org/problem?id=1113 [题目大意] 给出一个城堡,要求求出距城堡距离大于L的地方建围墙将城堡围起来求所要围墙的长度 [题解] 画图易得答案为凸包的 ...
- 【kd-tree】bzoj3489 A simple rmq problem
Orz zyf教给蒟蒻做法 蒟蒻并不会这题正解……(可持久化树套树?...Orz 对于每个点,我们可以求出pre[i],nex[i],那么询问的答案就是:求max (a[i]),其中 i 满足(pre ...
- 【二分答案】【分块答案】【字符串哈希】【set】bzoj2946 [Poi2000]公共串
我们二分/分块枚举答案x,暴力把除了最短的字符串以外的其他字符串的x长度子串哈希搞出来,分别扔到set里. 然后暴力枚举最短的字符串的x长度字串,查看是否在全部的set里出现过. #include&l ...
- 关于SQL优化方面的一些总结
在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有需要的可以参考参考. 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 ord ...
- [CF911G]Mass Change Queries
题目大意: 给你一个长度为n的数列a,按顺序进行以下m次操作,每次将区间[l,r]中的所有x变成y,问最后数列是怎样的. 思路: 线段树. 每个线段树结点上维护当前区间每个数分别会变成多少.时间复杂度 ...
- React Native使用Navigator组件进行页面导航报this.props....is not a function错误
在push的时候定义回调函数: this.props.navigator.push({ component: nextVC, title: titleName, passProps: { //回调 g ...