asp.net Vs访问正常,iis访问出现各种问题的部分处理方法

简介: 今天有园友问我一个问题,问题的大致意思就是新建了一个项目,在vs中调试都可以正常,但是在iis访问就会出现各种问题。我个人认为这个问题都很容易解决,因为园友和我离的挺远,只能通过QQ视频来操作,但是我发现这种方式的沟通确实不太方便。

今天有园友问我一个问题,问题的大致意思就是新建了一个项目,在vs中调试都可以正常,但是在iis访问就会出现各种问题。我个人认为这个问题都很容易解决,因为园友和我离的挺远,只能通过QQ视频来操作,但是我发现这种方式的沟通确实不太方便。索性把这些问题整理一下,这样更容易的可以处理方法说明清楚。

因为我目前的项目没有这个问题存在,所以我只能是新建一个简单的项目,然后在本地操作,尽量让这个问题出现,也因为我从来没有整理过这方面额问题,现在整理一下,然后再把我遇到的一些问题整理一下,说明一下如何解决这类问题。如果你还有一些问题出现,但是我现在没有想到,那么请你给我留言,我来把这些问题再做整理。

首先说第一个问题,数据库访问出现的问题。恐怕这个是最普遍的问题了。因为这个操作实在很简单,具体的细节我就不细说了,大家一眼就会明白。

首先我们新建了一个Web项目,在项目中添加了一个页面叫做test.aspx,其中添加了一个按钮,当点击了这个按钮的时候会连接数据库把数据库中的数据提取出来显示在界面上的gridView上。

 1  protected void Button1_Click(object sender, EventArgs e)
 2         {
 3             SqlConnection conn = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=DbLog;Integrated Security=True");
 4             SqlCommand cmd = conn.CreateCommand();
 5             try
 6             {
 7                 string sql = "select top 10 * from log";
 8                 SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
 9                 DataTable dt = new DataTable();
10                 sda.Fill(dt);
11 
12                 GridView1.DataSource = dt;
13                 GridView1.DataBind();
14             }
15             catch (Exception ex)
16             {
17                 string errmsg = ex.Message;
18                 Response.Write(ex.Message);
19             }
20         }

如果连接数据库出现异常的话,我们把异常信息直接打印出来。现在我们来看结果。

上面的这个图是在vs中通过F5运行之后得到的结果,很明显 显示结果是正确的,现在我们来看一下在iis下的显示结果。什么,你不知道怎么放到IIS中访问,那么好吧,我简略的叙述一下,在IIS中新建一个虚拟目录或者网站,然后把项目的路径填到里面就可以了。

 

在IIS中访问出现了问题,显示的不是数据库中的数据,而是在异常信息中显示的异常信息。这是什么原因呢?看异常信息提示,打开数据库失败,这是为什么呢?从这个原因我们可以考虑几个方面。

 

  1.  数据库的配置问题,因为本篇博客如果要说明数据库的配置,那就会很长了,所以简略的说明一下,就是在数据库中要把其中的几个地方设置为启用一般都可以解决。

                

 2.如果不是数据库的配置问题,可能使我们打开数据库的数据库密码不正确。这个也要检查一下,打开数据库的服务器是否正确,数据库名是否正确,因为我们这个试验是通过Windows 验证访问的,所以不存在密码错误的问题。

3.就是权限问题。这个应该是最主要的问题存在,会令一些人疯狂的地方了。其实就是我们做项目的时候控制用户访问的道理是一样的,数据库禁止该用户访问。

既然说道权限问题,那么我们就要说一下,IIS运行在哪个用户下呢?我们以管理员登陆操作系统的奥,还是会出现错误。其实IIS运行在一个叫做iis_user的用户下,可能不同的IIS版本下这个名称会有所不同,Network_services 在IIS中有时也需要,但是在IIS7 就是这个用户,因为我安装的就是IIS7.如果我们用的是Server 2003 系统,那么在IIS上可以直接设置权限。因为我在公司用的就是server 2003,所以比较清楚。

 

首先上来就报错了。由于权限不足,那好,我们就给他增加权限。选择项目文件夹,添加iis_users用户,然后给他特定的权限就可以正常了。

 

 

可能有的园友要骂我了,怎么没有看到那个数据库无法登录的错误,我只能说一句抱歉了,因为我确实没有模拟出来那个错误。因为我用的是Windows 7系统,其实在出现配置错误的时候我预想的应该是出现哪个数据库连接登录错误。等我模拟到那个登录错误的时候再拿出来。但是按照设置权限应该可以解决所有的权限错误问题。

总结一下,iis登录错误的问题很基本,只要我们善用搜索引擎,一般这类问题很容易解决。这篇播客是常识贴,知道的话很容易,但是如果找不到原因,也挺烦人的,故提出来大家一起分享。

 

 

我又回来了,回到了技术最前线,
相关文章
|
7月前
|
开发框架 .NET
ASP.NET Core NET7 增加session的方法
ASP.NET Core NET7 增加session的方法
92 0
|
2月前
|
SQL XML 关系型数据库
入门指南:利用NHibernate简化.NET应用程序的数据访问
【10月更文挑战第13天】NHibernate是一个面向.NET的开源对象关系映射(ORM)工具,它提供了从数据库表到应用程序中的对象之间的映射。通过使用NHibernate,开发者可以专注于业务逻辑和领域模型的设计,而无需直接编写复杂的SQL语句来处理数据持久化问题。NHibernate支持多种数据库,并且具有高度的灵活性和可扩展性。
43 2
|
3月前
|
SQL 存储 关系型数据库
C#一分钟浅谈:使用 ADO.NET 进行数据库访问
【9月更文挑战第3天】在.NET开发中,与数据库交互至关重要。ADO.NET是Microsoft提供的用于访问关系型数据库的类库,包含连接数据库、执行SQL命令等功能。本文从基础入手,介绍如何使用ADO.NET进行数据库访问,并提供示例代码,同时讨论常见问题及其解决方案,如连接字符串错误、SQL注入风险和资源泄露等,帮助开发者更好地利用ADO.NET提升应用的安全性和稳定性。
297 6
|
4月前
|
算法 Java 测试技术
java 访问ingress https报错javax.net.ssl.SSLHandshakeException: Received fatal alert: protocol_version
java 访问ingress https报错javax.net.ssl.SSLHandshakeException: Received fatal alert: protocol_version
|
4月前
|
API
【Azure Key Vault】.NET 代码如何访问中国区的Key Vault中的机密信息(Get/Set Secret)
【Azure Key Vault】.NET 代码如何访问中国区的Key Vault中的机密信息(Get/Set Secret)
|
4月前
|
开发框架 .NET API
在IIS上部署ASP.NET Core Web API和Blazor Wasm详细教程
在IIS上部署ASP.NET Core Web API和Blazor Wasm详细教程
196 3
|
5月前
|
开发框架 前端开发 JavaScript
基于SqlSugar的数据库访问处理的封装,支持.net FrameWork和.net core的项目调用
基于SqlSugar的数据库访问处理的封装,支持.net FrameWork和.net core的项目调用
|
5月前
|
开发框架 缓存 NoSQL
基于SqlSugar的数据库访问处理的封装,在.net6框架的Web API上开发应用
基于SqlSugar的数据库访问处理的封装,在.net6框架的Web API上开发应用
|
4月前
【Azure 应用服务】App Service 配置 Application Settings 访问Storage Account得到 could not be resolved: '*.file.core.windows.net'的报错。没有解析成对应中国区 Storage Account地址 *.file.core.chinacloudapi.cn
【Azure 应用服务】App Service 配置 Application Settings 访问Storage Account得到 could not be resolved: '*.file.core.windows.net'的报错。没有解析成对应中国区 Storage Account地址 *.file.core.chinacloudapi.cn
|
4月前
|
开发框架 中间件 .NET
分享 ASP.NET Core Web Api 中间件获取 Request Body 两个方法
分享 ASP.NET Core Web Api 中间件获取 Request Body 两个方法
139 0