在配置IIS负载均衡时,引起的一系列问题
问题一:
IIS中要上传文件的路径是另一台服务器的地址(如:本机IP是192.168.0.100,文件保存的路径在://192.168.0.101/images/folder),在上传时抛出异常:
ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6 and IIS 7, and the configured application pool identity on IIS 7.5) that is used if the application is not impersonating. If the application is impersonating via <identity impersonate="true"/>, the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user.
To grant ASP.NET access to a file, right-click the file in Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access.
解决的办法:在webconfig中增加配置节点:
<identity impersonate="true" userName="administrator" password="P1234!@#$" />
问题二:
在打开(或下载)文件(writeFile)时,又一直提示上面的那个异常错误。
一直在权限的道路上折腾、摸索、修改。直到最后才怀疑是不是代码有问题,现在贴出修改后的完整代码:
Response.Clear();
// 必须有这一行才能打开,否则会弹出下载保存确认框
Response.AddHeader("Content-Disposition", "inline;filename=" + Server.UrlEncode(fi.FullName));
Response.AddHeader("Content-Length", fi.Length.ToString()); // 可有可无
Response.ContentType = "application/octet-stream;charset=gb2321"; // 可有可无
Response.WriteFile(fi.FullName);
Response.Flush(); // 必须有这一行
Response.Close();
高亮的那几行代码非常重要,其中Content-Disposition也起了决定性作用,Content-Disposition的两个值代表的含义:
////attachment --- 作为附件下载
////inline --- 在线打开
附上源码:
protected void btnReadFile_Click(object sender, EventArgs e)
{
string path = Path.Combine(this.txtFolderPath.Text, this.txtFilePath.Text);
FileInfo fi = new FileInfo(path);
if (fi.Exists)
{
//Response.Clear();
Response.AddHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode(fi.Name));
//Response.AddHeader("Content-Length", fi.Length.ToString());
//Response.ContentType = "application/octet-stream;charset=gb2321";
Response.WriteFile(fi.FullName);
Response.Flush();
Response.End(); labResult2.Text = "OK!";
}
else
{
labResult2.Text = "Error.File not Exists!";
}
}
下载文件代码
其他下载文件的几个函数,则大同小异,网上资料很多。
问题三:
重写URL在线下没有问题,部署到IIS中却出现404的问题。
IIS 在网上百度无数次,在google翻墙无数次,去配置应用程序映射(仍然没有解决问题),去配置日志跟踪(仍然没有解决问题),甚至重新安装了IIS某些配置。最后非常仔细的对比两个服务器(一个服务器没有问题,一个服务器有问题)的应用程序池配置,shit!发现“启用32位应用程序”一个是“true”,一个是“false”,操,改成true之后,终于不再抛出404了。
问题四:
将“启用32位应用程序”改成“True”后,oracle会连接不上,然后又从线下32位的机器上拷了一个oracle_DataAccess.dll上去,结果又抛出下面这个异常:
The provider is not compatible with the version of Oracle client
很明显的,提示oracle_DataAccess版本不一致。后来查了资料(主要是查的如何启用32位应用程序又能使用64位的oracle数据库)还是无果。最后想到帮我解决了问题三的那一台服务器,从里面的一个站点把oracle相关的dll全部拷过来(先把出问题的那个服务器站点的oracle相关的dll全部删除)后,成功了!!!
在配置IIS负载均衡时,引起的一系列问题的更多相关文章
- IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm(转载)
IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm 自从本系列发布之后,收到了很多的朋友的回复!非常感谢,同时很多朋友问到了一些问题,有些问 ...
- 解决nginx配置负载均衡时invalid host in upstream报错
当前平台: windows nginx版本: 1.11.5 前言: 在配置负载均衡时,同时也需要设置反向代理,当修改了nginx.conf时,发现nginx服务无法开启. 1. 打开"ngi ...
- 服务器配置,负载均衡时需配置MachineKey
服务器配置,负载均衡时需配置MachineKey https://blog.csdn.net/liuqiao0327/article/details/54018922 Asp.Net应用程序中为什么要 ...
- IIS负载均衡ARR路由请求到ARR服务器和处理服务器
.net web 使用IIS ARR(Application Request Route)技术实现web的高性能.高可靠.易扩展及负载均衡.ARR的使用请参考 IIS负载均衡-Application ...
- windows网络服务之配置网络负载均衡(NLB)群集
O首页51CTO博客我的博客 搜索 每日博报 社区:学院论坛博客下载更多 登录注册 家园 学院 博客 论坛 下载 自测 门诊 周刊 读书 技术圈 曾垂鑫的技术专栏 http:// ...
- office web apps安装部署,配置https,负载均衡(七)配置过程中遇到的问题详细解答
该篇文章,是这个系列文章的最后一篇文章,该篇文章将详细解答owa在安装过程中常见的问题. 如果您没有搭建好office web apps,您可以查看前面的一系列文章,查看具体步骤: office we ...
- office web apps安装部署,配置https,负载均衡(五)配置服务器场
前提条件:您已经完成了域控制器的配置,拥有域账号,并且已经安装了OWA启动所需要的必要软件: 具体步骤可以参考: office web apps安装部署,配置https,负载均衡(一)背景介绍 off ...
- 配置nginx负载均衡
配置nginx负载均衡 执行命令:vi /usr/local/nginx/sbin/nginx/conf/nginx.conf 修改为: worker_processes 2; events { ...
- IIS负载均衡(转)
在大型Web应用系统中,由于请求的数据量过大以及并发的因素,导致Web系统会出现宕机的现象,解决这一类问题的方法我个人觉得主要在以下几个方面: 1.IIS 负载均衡. 2.数据库 负载均衡. 3.系统 ...
随机推荐
- Solr入门之(8)中文分词器配置
Solr中虽然提供了一个中文分词器,但是效果很差,可以使用IKAnalyzer或Mmseg4j 或其他中文分词器. 一.IKAnalyzer分词器配置: 1.下载IKAnalyzer(IKAnalyz ...
- ORA-03113:通信通道的文件结尾解决
今天跟往常一样,登陆PL/SQL,确登陆失败,出现一个错误“ORA-01034”和“ORA-27101”如图: 然后就就通过命令提示符去登陆Oracle,去查看怎么回事,然后问题进一步出现,错误“OR ...
- AgileEAS.NET SOA 中间件平台 5.2 发布说明-包含Silverlight及报表系统的开源代码下载
一.AgileEAS.NET SOA 中间件简介 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速 ...
- ASP.NET 5探险(8):利用中间件、TagHelper来在MVC 6中实现Captcha
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:由于ASP.NET 5及MVC 6是一个微软全新重新的Web开发平台,之前一些现有的验 ...
- c文件操作 (转)
文件文件的基本概念 所谓“文件”是指一组相关数据的有序集合. 这个数据集有一个名称,叫做文件名. 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件.目标文件.可执行文件.库文件 (头文件)等 ...
- 战斗住的DPS才是DPS,持续的执行力才是执行力
工作久了,真的发现执行力这个东西太难被贯彻,计划时信心满满,冲劲十足,持续一段时间后就喇叭腔了.
- SoapUI接口测试之JDBC(三)
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用java语言编写的类和接口 ...
- mob免费短信验证码安卓SDK调用方法
很不错的一款免费验证码平台,支持IOS.安卓,比那些收费的稳定.开发容易.分享给大家,希望大家不要滥用 官网: http://mob.com/ 官方有开发文档,但是有几点要注意的官方没有提到,导致初始 ...
- 餐厅app总结
2.总结:在这几个月来说,我们发现我们能力有点不足,整一个app,没有我们想象的那么完美,所以经过我们的讨论说,我们还是需要去加强一下每一个人的能力,但是整个作业,每个人都是尽了每个人的能力. (1) ...
- JavaScript实现li隔行变色
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...