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配置数据库的更多相关文章

  1. Microsoft.Practices.EnterpriseLibrary.Logging的使用

    翻译 原文地址:http://www.devx.com/dotnet/Article/36184/0/page/1  原文作者:Thiru Thangarathinam (好强大的名字) 翻译: fl ...

  2. c# 之 Microsoft.Practices.EnterpriseLibrary连接Oracle

    首先下载Microsoft Enterprise Library 5.0:http://www.microsoft.com/en-us/download/details.aspx?id=15104,这 ...

  3. Microsoft.Practices.EnterpriseLibrary

    项目中使用了Microsoft.Practices.EnterpriseLibrary这个东西,根据名字猜测和微软有关系(可以翻译为:微软实践企业库). 看到了引入了两个命名空间: using Mic ...

  4. Could not load file or assembly 'Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, ...

    使用oracle数据库一个多月依赖这问题一直都得不到解决,最近任务不是很忙了,所以决定把这问题解决掉.写一篇文章做记录. 以上错误主要是net程序oracle数据库使用了Microsoft Enter ...

  5. 缓存篇~第六回 Microsoft.Practices.EnterpriseLibrary.Caching实现基于方法签名的数据集缓存

    返回目录 这一讲中主要是说EnterpriseLibrary企业级架构里的caching组件,它主要实现了项目缓存功能,它支持四种持久化方式,内存,文件,数据库和自定义,对于持久化不是今天讨论的重要, ...

  6. VS - Microsoft.Practices.EnterpriseLibrary.Logging

    string fileName = AppDomain.CurrentDomain.BaseDirectory + "\\log.txt";File.AppendAllText(f ...

  7. 错误:创建 cachingConfiguration 的配置节处理程序时出错: 未能加载文件或程序集“Microsoft.Practices.EnterpriseLibrary.Caching,

    问题: 错误:创建 cachingConfiguration 的配置节处理程序时出错: 未能加载文件或程序集“Microsoft.Practices.EnterpriseLibrary.Caching ...

  8. Microsoft.Practices.EnterpriseLibrary企业库问题

    System.Configuration.ConfigurationErrorsException: Invalid TraceListenerData type in configuration ' ...

  9. java如何实现webservice中wsdlLocation访问地址的可配置化

    背景:项目中调用了别的系统的webservice接口,调用成功之后发现wsdlLocation的地址是写死的,不方便修改,所以需要实现地址,包括用户名密码的可配置.项目的框架是Spring,调用web ...

随机推荐

  1. HDU1009:FatMouse' Trade(初探贪心,wait)

    FatMouse prepared M pounds of cat food, ready to trade with the cats guarding the warehouse containi ...

  2. Python练习——同时安装python2 与 python 3如何选择不同解释器运行脚本

    如果同时安装了python 2 和python 3 那么我们需要在运行时指定解释器 如下: 其中py -2 ex1.py指定了解释器的版本,以及打开的文件 如果使用 py-3 ex1.py则使用了py ...

  3. 让你的mysql或mariadb 支持ipv6

    如果你在windows 或Linux系统已经安装了mysql/mariadb,并且操作系统本身已经支持了ipv6. 在/etc/my.conf 这样配置可以让mysql也支持ipv6 [mysqld] ...

  4. 【二维莫队】【二维分块】bzoj2639 矩形计算

    <法一>二维莫队,对n和m分别分块后,对块从上到下从左到右依次编号,询问以左上角所在块编号为第一关键字,以右下角标号为第二关键字排序,转移时非常厉害. O(q*n*sqrt(n)). #i ...

  5. Djanog|requirements.txt生成

    Django | requirement.txt 生成 pip django 1   pip 通常我们熟悉使用的都是 pip, 这个工具确实方便项目管理依赖包.当想把当前项目依赖的包的名称和版本导入指 ...

  6. UWP 程序抛出异常时总是跳到“global::System.Diagnostics.Debugger.Break();”的解决办法

    调试 C# 程序时,如果遇到异常,VS 会中断,指出导致异常的语句.但是最近调试 UWP 程序时,发现总是在“global::System.Diagnostics.Debugger.Break();” ...

  7. iOS 公司开发者账号申请清单

    公司开发者账号申请清单: Apple ID账号申请: (有账号请提供账号密码) Apple ID:       (最好是公司邮箱账号) Apple ID密码:  (大于8位, 字母或数字组成,  包含 ...

  8. iOS开发中几种常见的存储方式

    1.archive 归档 数据的保存 1: let result = NSKeyedArchiver.archiveRootObject(contacts, toFile: path as Strin ...

  9. OC语言基础之NSDictionary

    1.NSDictionary字典的创建 1: // key value 2: // key -==> value 3: NSDictionary *dict = [NSDictionary di ...

  10. Android ProgressBar手动控制开始和停止

    这两天有个需求,点击按钮从SD卡解压压缩包,并读取压缩包内txt文档内容,然后在街面上显示出来.毕竟IO操作很耗时,如果文件较大会花费不少时间.所以,在处理数据的时候能给个进度就好了.我们通常的做法就 ...