iis访问出现各种问题(Vs访问正常)的部分处理方法详细整理

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

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

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

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


代码如下:

protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=DbLog;Integrated Security=True");
SqlCommand cmd = conn.CreateCommand();
try
{
string sql = "select top 10 * from log";
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
DataTable dt = new DataTable();
sda.Fill(dt);

GridView1.DataSource = dt;
GridView1.DataBind();
}
catch (Exception ex)
{
string errmsg = ex.Message;
Response.Write(ex.Message);
}
}

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

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

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

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

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

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

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

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

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

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

(0)

相关推荐

  • IIS访问ASP页面时报错The requested resource is in use.的解决办法

    重启服务器IIS服务后发现所有ASP页面显示http500错误,大汗, IIS中,当将应用程序进程保护设为低时,网站asp程序可以正常运行,但当将应用程序进程保护设为中和高时,asp程序均显示http500错误. 在网上寻找解决方案,说是IWAM用户密码不同步的原因造成,但查看日志文件,发现日志里记录的描述与IWAM用户密码不同步的不一样, 具体日志如下: 事件类型:        错误 事件来源:        COM+ 事件种类:        SVC 事件 ID:        4194

  • IIS访问网站的用户过多解决方法

    报错内容如下: 无法显示网页 目前访问网站的用户过多. -------------------------------------------------------------------------------- 请尝试执行下列操作: 单击刷新按钮,或稍后重试. 打开localhost主页,然后查找与所需信息相关的链接. HTTP错误403.9-禁止访问:连接的用户过多 Internet信息服务 ------------------------------------------------

  • iis访问出现各种问题(Vs访问正常)的部分处理方法详细整理

    今天有园友问我一个问题,问题的大致意思就是新建了一个项目,在vs中调试都可以正常,但是在iis访问就会出现各种问题.我个人认为这个问题都很容易解决,因为园友和我离的挺远,只能通过QQ视频来操作,但是我发现这种方式的沟通确实不太方便.索性把这些问题整理一下,这样更容易的可以处理方法说明清楚. 因为我目前的项目没有这个问题存在,所以我只能是新建一个简单的项目,然后在本地操作,尽量让这个问题出现,也因为我从来没有整理过这方面额问题,现在整理一下,然后再把我遇到的一些问题整理一下,说明一下如何解决这类问

  • PHP在Windows IIS上传的图片无法访问的解决方法

    PHP在Windows IIS上传的图片无法访问的解决方法 首先登录到网站后台进行了测试发现上传的图片在确实浏览器打不开且出现了无法访问的错误信息:" 401 - 未 授权: 由于凭据无效,访问被拒绝." 然后又测试了该服务器上其他几个php项目发现也出现了一样的错误: 图片上传成功,但浏览器没有权限访问. 因为测试的几个php系统是不一样的,有thinkphp,wordpress,百度ueditor编辑器. 所以这几个系统同时出现问题的概率实在是太小了,所以基本上排除了程序的bug,

  • VBScript使用ADSI为IIS批量添加屏蔽或允许访问的IP

    复制代码 代码如下: '/*========================================================================= ' * Intro VBScript使用ADSI为IIS批量添加屏蔽或允许访问的IP ' * FileName VBScript-ADSI-IIS-Add-Deny-Grant-IP-Change-MetaBase.xml.vbs ' *===========================================

  • IIS的web.config中跨域访问设置方法

    需求:页面要显示1个图片,但是因为各种原因,导致图片在服务器2上,但是要展示的程序在服务器1 的上面,这样就造成了在显示的时候出现了跨域的问题,本来的思路为直接写个程序进行后台获得图片的路径,然后把图片进行下载出来,然后返回服务器1的图片地址,但是,由于这个周期不确定性和现阶段项目的紧迫性,就放弃了.转为第2中方式,通过js 把图片下载到服务器上..找了下资料和别人沟通了下后,发现不能实现,然后准备用js+canvas 进行实现保存到本地,然后发现好像只能实现保存到本地.然后问题又回到了原点:就

  • PHP实现在对象之外访问其私有属性private及保护属性protected的方法

    本文实例讲述了PHP实现在对象之外访问其私有属性private及保护属性protected的方法.分享给大家供大家参考,具体如下: public 表示全局的访问权限,类内部外部子类都可以访问: private表示私有的访问权限,只有本类内部可以使用: protected表示受保护的访问权限,只有本类或子类或父类中可以访问: 比较经典的用法示例如下: <?php //父类 class father{ public function a(){ echo "function a<br/&g

  • Nginx如何限制IP访问只允许特定域名访问

    目录 1.找到 nginx 的配置文件 2.添加新的 server 3.修改 server 4.访问测试 总结 为了我们的服务器安全,我们需要禁止直接使用 IP 访问我们的服务器,我们可以借助 Nginx 完成 1.找到 nginx 的配置文件 cd /usr/local/nginx/conf/ 找到 nginx.conf 文件 编辑它 2.添加新的 server # 禁止ip访问 server { listen 80 default_server; listen 443 ssl default

  • SpringBoot静态资源的访问方法详细介绍

    目录 一. 静态资源 二. 静态资源访问目标 三. 静态资源访问前缀 1. 默认访问路径为 / 2. 配置访问前缀 3. 配置静态资源默认访问位置 四. 欢迎页及网页图标设置 1. 欢迎页的设置 2. 网页图标的设置 分析源码 一. 静态资源 在web场景中的静态图片.html网页等 二. 静态资源访问目标 在SpringBoot中,静态资源访问目标有 resources文件下的 public.resources.static 以及 META-INF 文件夹下的 recources 如下图所示:

  • IIS运行错误 Server Application Error 错误代码 Error: 8004的解决方法

    本文将重新修正整理了一下Server application Error解决方案,修正了命令中涉及到路径的问题,使用本文中的命令,将不需要理会路径问题: iis 修复工具下载 iis_repair_jb51.rar 1.右键点击我的电脑 --> 管理 --> 本地用户和组 --> 用户,在右侧给"IUSR_机器名"和"IWAM_机器名"两个用户均设置密码为123: 2.开始 --> 运行 --> cmd ,然后依次在命令行窗口输入以下命

  • 先装了FRAMEWORK,后装IIS导致asp.net页面无法访问的解决方法

    ASPX页面访问需要.net的支持. 请先检查是否安装了.NET, 打开IIS,在默认网站上点右键,如果没有ASP.NET选项卡则为没有安装或没有将.NET注册到IIS中. 1.没有安装,下 载.net framework 并安装,下载时注意版本,并不一定高版本就完全兼容低版本, 2.安装了但是没有注册到IIS中,开始->运行->cmd-> C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

  • win2003 IIS 6.0实现全站https访问的配置方法

    全站通过https访问前,请先确认网站各页面能正常通过https访问,若网站中不安全元素没有解决(即网站中仍存在外部的图片.js.css等链接),则强制全站https访问后会造成部分页面显示异常. 具体实现办法: 1.打开IIS管理器,找到需要配置SSL证书的站点,右键属性. 2.选择"目录安全性",在"安全通信"区域点击"编辑". 3.勾选"要求安全通道(SSl)",确定完成. 4.修改IIS403文件. 路径:C:\WIN

随机推荐