APP下载

.Net环境下Web程序开发中遇到的问题

2018-03-27韦丽霜

求知导刊 2017年36期

韦丽霜

关键词:.Net; Web应用程序;三层架构

中图分类号:TP311

文献标识码:A

一、前言

1.开发环境

Asp.Net是当前Web动态网页开发的主流技术之一,基于.NET Framework 平台的Web开发技术。本人在Windows操作系统中使用Visual Studio集成开发环境、C#语言、SQL SERVER数据库进行Web开发。

2. 三层架构概述

微软推荐的分层结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层和表示层,三层之间有向下依赖的关系。数据访问层主要负责对数据库的访问,对数据表的增、删、改、查操作均放在此层。业务逻辑层负责业务处理和数据传递。它处于数据访问层与表示层中间,表示层调用它,而它又调用数据访问层,起到承上启下的作用。负责实现业务规则及对数据进行有效性验证等。表示层负责响应用户的请求,实现内容的展现和与用户的交互。

二、 在三层架构开发中遇到的问题及应对办法

1.搭建三层架构出现的问题

搭建基于三层结构的系统基本框架,将整个业务应用划分为模型层、数据访问层、业务逻辑层和表示层。

(1)搭建三层结构的系统基本框架。搭建步骤如下:

①新建一个空白解决方案。在Visual Studio 2010中选择菜单栏“文件”“新建项目”“已安装模板”,树形目录下选择“其他项目类型”的“Visual Studio解决方案”“空白解决方案”,新建一个空白解决方案。

②新建一个类库作为系统的模型层。右击上一步建立的解决方案名,在弹出的快捷菜单中选择“添加”“新建项目”“已安装模板”树型目录下选择Visual C#,在右侧“模板”列表选择“类库”,建一个类库作为模型层。

③新建一个类库作为系统的数据访问层。

④新建一个类库作为系统的业务逻辑层。

⑤新建系统的表示层。注意此时在“添加新项目”对话框的中间窗口的“模板”列表中应该选择“ASP.NET  Web应用程序”选项。

在做③时,往往容易按照②所写操作,没注意到当创建好第一个类库后,在“解决方案资源管理器”中显示的不是解决方案名,而是②建立的类库名。有的教材中也没注意到这个细节,这是初学者很容易弄错的一步。由于软件环境不一样,有的机房又不会产生这样的问题。这时可通过菜单“文件”|“添加”|“新建项目”来建立类库作为数据访问层。而建好第二个类库后,其他的类库就可与②中所讲的操作了。

(2)建立各层引用关系。

①建立表示层对业务逻辑层与模型层的引用。

②建立业务逻辑层对数据访问层与模型层的引用。

③建立数据访问层对模型层的引用。

由于数据库连接字符串需要在应用程序多处重复使用,为便用维护与扩展,一般将连接字符串写在Web.config配置文件中,在③中,除了需要建立数据访问层对模型层的引用,还需要添加对System.Configuration的引用。System.Configuration 命名空间包含提供用于处理配置数据的编程模型的类型。初学者也常常容易忽略,导致程序无法运行。

2.数据库连接出现的问题

用ADO.NET对象访问SQL SERVER数据库时,根据登录数据库的不同方式采用不同的代码设置数据库连接字符串,数据库名为Strudb.mdf。

(1)Windows身份验证模式登录数据库以这种方式连接数据库,很多情况下都能连接得上。但我遇到过在某种环境下会连接不成功。通过Windows XP环境,又安装了一个Windows XP系统,启动第二个Windows XP系统,然后在第二个系统中安装SQL Server 2005及Visual Studio2005,数据库文件StruDB是在SQL Server 2005中建立的,运行项目,数据库就连不上了。而用SQL Server身份验证模式就可连接。

(2)SQL Server身份验证模式登录数据库。如果初学者安装SQL Server 2005/2008时没安装SQL Server身份验证模式,项目是连不上数据库的。SQL Server默认安装是Windows身份验证模式。

(3)如果只是安装了Microsoft Visual Studio 2010携带的SQL Server2008,则可将数据库文件放在表示层的App_Data文件夹中。

在这种情况下,如果安装的数据库版本不一樣,也会连接不上数据库。

以上三种是我们连接数据库常用的方式,都会有连接不上数据库的情况,初学者难判断是什么原因。教给大家一个办法,找连接字符串:通过Microsoft Visual Studio 中连接数据库的控件得到连接字符串,通过控件连接成功,自动产生的连接数据库的代码,放到web.config中,一般都可正常运行。

3. 三层架构中的路径出现的问题

在Visual Studio 中可用可视化的操作设置文件路径,在Visual Studio 2005中自动产生的路径会出现文件找不到的情况,自动产生的路径出错,Visual Studio 2010就没这种情况了。

4.三层架构中添加现有项易出现的问题

在Visual Studio 中可通过添加现有项的方式将文件导入项目中。通过添加现有项的方式将类文件导入类库项目中时,运行ASP.NET Web应用程序项目后会出现.cs文件不被承认的情况,这时可将所在类库设为启动项,然后再启动运行调试就可以了。

5. 使用在线文本编辑器FCKeditor遇到的问题

本人在教学过程中,遇到FCKeditor控件使用异常。当时机房的软件环境是Window7/ Visual Studio 2010/SQL Server2005,一般情况下下载的文件按说明放在表示层中。相同的代码,在几个机房中动行,只有一个机房此控件相应文件要放到模型层才能正常运行,放在表示层则提示错误。其他机房放表示层无错误提示,正常运行,放在模型层则提示出错。

三、其他问题

1. 使用中文名字的文件易出现问题

用Visual Studio开发Web应用程序,运行时对中文文件还是存在兼容性问题的,建议使用字母命名文件。

2.中文输入法对代码的影响

有部分初学者在编程时在中文输入法状态中中文符号的状态下输入一些符号,就会出现错误。还有些是在中文输入法状态下英文符号状态下输入代码,代码无误,但运行不成功。还是一些由中文输入状态切换到英文输入状态后输入的代码正确,仍无法正常运行,有时需重新输入一遍或复制能运行的代码过来就可以了。

四、结语

在实践中,经常会遇到这样的情况,书中讲的没错,操作也正确,却得不到想要的结果。 初学者往往心中没底,不知问题出在哪里。我希望本文对遇到类似情况的初学者和开发者提供一些参考与帮助。

参考文献:

[1]程  琪,张白桦.ASP.NET动态网站开发项目化教程[M].北京:清华大学出版社,2010.

[2]传智播客高教产品研发部.ASP.NET就业实例教程[M].北京:人民邮电出版社,2015.

[3]软件开发技术联盟.ASP.NET开发实例大全(提高卷)[M].北京:清华大学出版社,2016.