高分求助!!!C#为什么程序在本地运行没有问题,但部署到服务器上后就不行了呢

“/trusee”应用程序中的服务器错误。
--------------------------------------------------------------------------------

对路径“C:\Documents and Settings\123\桌面\家电专题\家电专题1\jdzt1.rar”的访问被拒绝。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.UnauthorizedAccessException: 对路径“C:\Documents and Settings\123\桌面\家电专题\家电专题1\jdzt1.rar”的访问被拒绝。

ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。

要将 ASP.NET 访问权限授予某个文件,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:

[UnauthorizedAccessException: 对路径“C:\Documents and Settings\123\桌面\家电专题\家电专题1\jdzt1.rar”的访问被拒绝。]
System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +1971539
System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy) +998
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access) +57
Admin_CatagoryManage_Subject_SubjectManage.upfile() +319
Admin_CatagoryManage_Subject_SubjectManage.btnAddNew_Click(Object sender, EventArgs e) +3270
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102

--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.832; ASP.NET 版本:2.0.50727.832

我用的是HttpWebRequest向服务器POST数据
我本机是XP系统,服务器是2003server
我在web.config中加上<identity impersonate="true"/>后,网站在服务器的IIS上就没法访问了
要给哪个用户什么样的权限呢

要给服务器那边什么样的权限啊????????
有人回答我再提高分

大哥,我网站是部署在服务器上的,难道要我从客户端每上传一次文件就要去给一次权限吧!~有没有什么方法能从服务器端去设置??

你们回答都 是错!~

你调试程序的身份是当前登录系统的用户,而在IIS6中,是NetworkService账号,权限不同。修改了web.config,使用impersonate后,默认是以“IUser_你的机器名”这样的账号去访问那个文件,所以会出问题。
其实,提示的错误已经非常明白了:
********************
ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。

要将 ASP.NET 访问权限授予某个文件,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。
****************************
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
补充:
当然是在服务器端设置,上面说的所有设置都是在运行IIS的服务器上。
如果供下载,设置读取权限就可以,如果需要上传,设置修改权限。只设置一次就可以啊。
一般情况,访问的文件都放在网站文件夹,而你要访问某个用户的桌面文件夹,不是很合理,也不安全。
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-03-20
具体如何实施修补程序管理将取决于组织的大小和复杂性。 但是,您了解修补程序管理的重要性以及它是如何符合组织的整体风险管理策略是非常重要的。

例如,如果您决定不惜代价将风险最小化,可以遵循软件中每次出现新的漏洞,就关闭所有生产系统的策略。 然后,您可以选择不重新启动系统,直到对安全修补程序执行了全面的测试并将其部署在整个组织。 这是非常耗时和高成本的过程,对大部分组织来说是不切合实际的。

在整个修补程序管理过程中,您将需要将部署适当对策的成本与风险进行对照评估。 在披露安全漏洞之后,可能要经过一段短期时间才会发布修补程序。 您将评估漏洞引起的高风险,并确定在测试和部署修补程序之前必须做什么。

您可能要根据实际情况来禁用服务,使系统脱机或将访问限制为仅针对内部用户或其他组。 发布修补程序之后,您需要确定立即对其进行部署的风险,并确定保持服务停顿或处于未保护状态(同时进行测试以确保该修补程序不会对系统产生负面影响)的成本,将二者进行比较。 如果决定测试,您需要确定在不进行部署的风险超过部署的风险之前,您可以进行的测试量。

注意:您的组织应该实施更改管理过程。 Microsoft Operations Framework (MOF) 包括更改管理过程,该过程可作为组织的基础过程。 有关 MOF 的详细信息,请参见本章末尾的“详细信息”部分。
第2个回答  2008-03-19
因为你访问的文件在IIS的管理范围之外,那么,这个文件正常情况下IIS是访问不到的。除非你给他正确的权限。或者是把这个文件放到你这个网站所在的目录里。
第3个回答  2008-03-19
相对路径啊~~ 如果是从客户端写到服务器时,在目录里要有写入权限。。
第4个回答  2008-03-19
C:\Documents and Settings\123\桌面\家电专题\家电专题1\jdzt1.rar这个路径是你的XP电脑上的路径
但是在服务器中的时间就不是这个路径了
这个时间你需要把文件放在你的项目下。
然后用Server.Mappath("jdzt1.rar")
这样就可以随你的项目一起改变路径了

高分求助!!!C#为什么程序在本地运行没有问题,但部署到服务器上后就不...
当然是在服务器端设置,上面说的所有设置都是在运行IIS的服务器上。如果供下载,设置读取权限就可以,如果需要上传,设置修改权限。只设置一次就可以啊。一般情况,访问的文件都放在网站文件夹,而你要访问某个用户的桌面文件夹,不是很合理,也不安全。

C# .net打印问题 我在本地调试,是可以打印的,但是发布到IIS上,就没...
1,写了基于打印的类。可能你的打印调用的是本地打印机资源。在本地调试的时候通过。而发布到服务器的时候。服务器上没有打印机。或没有调用打印机的权限。这种错误将导致用户永远实现不了打印。只能在IIS托管服务器上实现。2,如果你的打印类是基于生成打印内容到页面。然后调用JS函数,或者IE内置的打...

为什么在我电脑上能运行的C#Windows应用程序在别的电脑上不能运行
你的程序连接的可能是你本地的数据库,换到别的机器上就不行了。你可以试试把数据库地址改成使用IP访问,不要使用127.0.0.1。这样在同一个网段内的其他机器应该就可以访问了。

为什么我在vs2010,C#网站调试没有问题,发布后出现了异常
1、你发布到的服务器还没有进行数据源等必要的配置。2、发布后,因相对路径发生了变化,导致无法读写文件。

c# 在本地调试可以的,但部署到iis上到就报错。
在服务器上最好用npio,openxml这种不依赖于office安装的组件。

...在本机上可以使用,别人电脑上就不行了,怎么实现共享?
1、这个应该是链接不上数据库造成的 2、可以在数据库连接字符串中服务器使用IP地址 3、然后关闭数据库服务器的网络防火墙 这样就应该可以链接上数据库了。

...在我开发用的机器上(win7)运行无误,但是到了服务器上就不行了...
两个可能 1、那个DLL在服务器上没有注册,把DLL复制到system32目录下,命令行执行regsvr32 xxxx.dll 2、服务器上Freamework和你电脑上的不一致,你先右键看下那个dll的属性Freamework版本,再看下服务器IIS的Freamework版本

C# ASP.net FTP上传功能本地编译没问题,网站发布后通过网址访问再用此...
导致这个错误的原因一般来说,有三种:1、无法在所请求的端口上访问Web站点。2、Web服务扩展锁定策略阻止本请求。3、MIME映射策略阻止本请求。解决办法:1. 对于存在的网页内容由于路径改变而导致访问不了时,可在IIS 中定义404错误指向一个动态页面,在页面里面使用301永久重定向跳转到新的地址,此时服务...

...c#),在本机上能导出表格,但是移到服务器上就没有反应?
建议换用三方组件NPOI。你现在导出的Excel是调用系统安装的Excel的组件。倘若服务器上没有安装Excel或安装的Excel版本不对,都会导致导出失败。再者,你放到服务器上,导出Excel后需要解决杀进程的问题,因为每次导出Excel时候,都会启动一个Excel.exe进程,导出结束后该进程不能自动关闭,需要写代码杀掉它,...

...c#使用rsa加密,在本地调试没问题,放到服务器访问报异常。
windows-2003环境,对证书存放目录设置访问权限,添加用户everyone。

相似回答