.NET平台三层应用程序框架搭建(二)

五、IIS寄宿

1、在解决方案资源管理器中,鼠标右击解决方案“MySolution“,选择:添加→新建网站→WCF服务,出现如下窗体:

 

点击“确定”按钮,创建完毕。界面如下所示:

 

2、删除自动生成的“IService.cs”和“Service.cs”。

3、鼠标右击网站项目,选择“添加引用”,出现如下窗体:

 

选择“服务层”类库,确定即可。目前网站项目的结构如下:

 

4、双击“Service.svc”打开该文件进行修改,修改后的文件如下所示:

<%@ ServiceHost Language="C#" Debug="true" Service="服务层.MySolutionServices" %>

  

5、鼠标右击“网站项目”中的“Web.config”文件,选择“编辑WCF配置”,出现如下窗体:

 

点击“Name”后的“…”按钮,出现如下窗体:

 

单击“打开”按钮即可。

点击“终结点”下的第一个“空名称”,出现如下窗体:

 

点击“Contract”后的“…”按钮,出现如下窗体:

 

点击“打开”按钮即可。

点击“文件”→“保存”,然后退出即可。

6、双击“Web.config”文件,在代码中添加以下代码:

<appSettings>
      <!-- 映射的数据库连接字符串 -->
      <add key="MySolution" value="Data Source=(local);Integrated security=SSPI;Initial Catalog=MySolution;"/>
  </appSettings>

  

7、右击网站项目,选择“生成网站”。

8、右击网站项目,选择“发布网站”,出现如下窗体:

 

点击确定即可。

9、右击网站项目中的“Service.svc”,选择“在浏览器中查看”,如果出现以下界面,就说明配置成功。

 

地址是:http://127.0.0.1/MySolutionWCFService/Service.svc

10、重新打开“Web.config”文件,找到如下代码处:

<system.web>
        <!--
            设置 compilation debug="true" ,将调试符号 
            插入已编译的页面中。但由于这会影响性能, 
           因此请只在开发过程中 
            将此值设置为 true。
        -->
        <compilation debug="false">

          <assemblies>
            <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
          </assemblies>

        </compilation>

  

将<compilation debug=”false”>修改为<compilation debug=”true”>

六、表示层

1、在解决方案资源管理器中,鼠标右击解决方案“MySolution”,选择:添加→新建项目→Visual C#→Windows→Windows窗体应用程序,取名为“表示层”。将“表示层”中的Form1删除,然后鼠标右击“表示层”这个项目名称,选择:添加→Windows窗体,将这个窗体取名为:frmLogin。将“frmLogin”窗体设计成如下形式:

  

 

然后双击“Program.cs”文件,将程序中的“Application.Run(new Form1());”语句修改为“Application.Run(new frmLogin());”。

2、鼠标右击“表示层”项目,选择“添加服务引用”,出现如下窗体:

 

在地址栏中输入地址:http://127.0.0.1/MySolutionWCFService/Service.svc

点击“前往”按钮,出现如下窗体:

 

 

将命名空间取名为“MySolutionService”,点击确定即可。这时的表示层项目结构如下:

 

3、打开frmLogin窗体,在窗体的Load函数中添加如下代码:

private void frmLogin_Load(object sender, EventArgs e)
{
      MySolutionService.MySolutionServicesClient proxy = new 表示层.MySolutionService.MySolutionServicesClient();
      DataSet dst = proxy.SelectUser("id,userName", "1=1", "id");
      cboUser.DataSource = dst.Tables["Users"];
      cboUser.DisplayMember = "userName";
      cboUser.ValueMember = "id";
      cboUser.SelectedIndex = -1;
}

  

至此全部完成,将表示层设置为启动项目,应该能够读取数据库中的数据。

posted @ 2012-09-20 15:23  沙耶  阅读(1130)  评论(0编辑  收藏  举报