在配置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.系统 ...
随机推荐
- [Tools] 使用XP远程登录Win8系统
[背景] 完成最基本的设置后,发现xp依然不能远程访问win8桌面,搜索后发现需要进一步设置 [开工] 按照参考资料进行设置,下面的参考资料已经写的很详细了,只是参考资料2中的文件名: redss ...
- JavaScript前端框架的思考
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:现在JavaScript前端框架层出不穷,尤其Angular进入到2.x时候之后,我们 ...
- gdb optimized out错误解决
转自:http://blog.csdn.net/cws1214/article/details/12023093 when linux gdb debug, print a variable, suc ...
- Java8中的default方法
default方法 Java 8中引入了一个新的概念,叫做default方法,也可以称为Defender方法,或者虚拟扩展方法(Virtual extension methods). Default方 ...
- ZEALER背后的乐视云视频
ZEALER是我非常喜欢的一个测评网站,经常访问看看手机.电动牙刷及机械键盘的测试视频,非常欣赏王自如的数据化测评理念.敬畏之心,以及不祛痘的视频. 刚好最近对网络视频应用比较感兴趣,觉得ZEALER ...
- DWZ分页、排序失效小结
1. 在视图文件中与分页相关的代码段 <form id="pagerForm" method="post" action="w_list.htm ...
- Linux crontab 定时任务详解
1.每小时执行一次脚本 * */1 * * * /etc/init.d/smb restart #不是所有的系统都支持“*/1”这种写法可以试试: 0 * * * * /etc/init.d/smb ...
- BootCDN和npm
稳定.快速.免费的开源项目 CDN 服务 BootCDN: jQuery3 <script type="text/javascript" src="http://c ...
- mybatis 加载配置文件的两种方式
package com.atguigu.day03_mybaits.test; import java.io.IOException;import java.io.InputStream;import ...
- 安装Maven、Eclipse设置、添加地址JAR
1.下载Maven 地址:http://maven.apache.org/download.cgi 2.安装Maven 系统变量:MAVEN_HOME = D:\maven\apache-maven- ...