当前位置:编程学习 > C#/ASP.NET >>

asp.net(c#)网页上传到FTP服务器上出错,web.config配置问题

找过很多这类问题,都不适合我.
我把在自己的电脑做的网页站上传到FTP服务上,原来的IIS主目录是C:\Inetpub\wwwroot,FTP站点:ftp://.../zb (...为IP地址,zb为站点下的一个文件夹,我的网页就放在那个ZB的文件夹下),站点支持asp.net,有写入和修改文件的权限,数据库用的是Access,连接方式:
string myConnstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+HttpContext.Current.Server.MapPath("Data/zb.mdb"); 

二级目录为:string myConnstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+HttpContext.Current.Server.MapPath("../Data/zb.mdb"); 



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

运行时错误 
说明: 服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)。但可以通过在本地服务器计算机上运行的浏览器查看。 

详细信息: 若要使他人能够在远程计算机上查看此特定错误信息的详细信息,请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 <customErrors> 标记。然后应将此 <customErrors> 标记的“mode”属性设置为“Off”。


<!-- Web.Config 配置文件 -->

<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration>
 

注释: 通过修改应用程序的 <customErrors> 配置标记的“defaultRedirect”属性,使之指向自定义错误页的 URL,可以用自定义错误页替换所看到的当前错误页。


<!-- Web.Config 配置文件 -->

<configuration>
    <system.web>
        <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
    </system.web>
</configuration>
 


我已改
<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration>

包括也删除了web.config解释文字

但是问题依然是那样.
问题出在哪里,就aspx文件不能打开,像TXT,XLS文件可以打开,包括zb.mdb用"http://IP/zb/data/zb.mdb"也可以打开,所以我想是不是web.config配置问题

我想问一下,是不是从个人电脑上传到FTP服务器后,如果是路径的问题,要修改路径,怎么改.

谢谢谢谢,烦死了,做不了就被炒鱿鱼啦

--------------------编程问答-------------------- 补充一下,一个简单的不用数据库连接的aspx网页也打不开 --------------------编程问答-------------------- 看看你的数据库文件的权限有没有设置正确 
属性中 --------------------编程问答-------------------- 虚拟路径之类的设置正确了么? --------------------编程问答-------------------- 管理员只是给我一个FTP空间,密码帐号,我只是传到空间里面,我有空间的读写改权限
1.看看你的数据库文件的权限有没有设置正确属性中

没有连接数据库的非常简单的aspx网页也不能打开,也出现上面那种情况.原来在本地机上access
我设置了everyone的写入修改读取属性,上传到FTP后那些属性会不会变成只读?

2.虚拟路径之类的设置正确了么?

问的就是这个问题,所以问是不是路径的问题,怎么设,原来的IIS路径和FTP空间地址我在上面给了

--------------------编程问答-------------------- 看看IIS里面的ASP.NET的版一是1.1还是2.0?
VS2005做的就选择2.0 --------------------编程问答-------------------- vs2003做的,本地机可以运行,上传到FTP后就出现那个问题 --------------------编程问答-------------------- web.config如下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    
  <system.web>

    <!--  动态调试编译
          设置 compilation debug="true" 以启用 ASPX 调试。否则,将此值设置为
          false 将提高此应用程序的运行时性能。
          设置 compilation debug="true" 以将调试符号(.pdb 信息)
          插入到编译页中。因为这将创建执行起来
          较慢的大文件,所以应该只在调试时将此值设置为 true,而在所有其他时候都设置为
          false。有关更多信息,请参考有关
          调试 ASP.NET 文件的文档。
    -->
    <compilation 
         defaultLanguage="c#"
         debug="true"
    />

    <!--  自定义错误信息
          设置 customErrors mode="On" 或 "RemoteOnly" 以启用自定义错误信息,或设置为 "Off" 以禁用自定义错误信息。 
          为每个要处理的错误添加 <error> 标记。

          "On" 始终显示自定义(友好的)信息。
          "Off" 始终显示详细的 ASP.NET 错误信息。
          "RemoteOnly" 只对不在本地 Web 服务器上运行的
           用户显示自定义(友好的)信息。出于安全目的,建议使用此设置,以便 
           不向远程客户端显示应用程序的详细信息。
    -->
    <customErrors   mode="Off"   /> 

    <!--  身份验证 
          此节设置应用程序的身份验证策略。可能的模式是 "Windows"、 
          "Forms"、 "Passport" 和 "None"

          "None" 不执行身份验证。 
          "Windows" IIS 根据应用程序的设置执行身份验证 
            (基本、简要或集成 Windows)。在 IIS 中必须禁用匿名访问。
          "Forms" 您为用户提供一个输入凭据的自定义窗体(Web 页),然后 
           在您的应用程序中验证他们的身份。用户凭据标记存储在 Cookie 中。
          "Passport" 身份验证是通过 Microsoft 的集中身份验证服务执行的,
           它为成员站点提供单独登录和核心配置文件服务。
    -->
    <authentication mode="Windows" /> 

<!--  授权 
           此节设置应用程序的授权策略。可以允许或拒绝不同的用户或角色访问
          应用程序资源。通配符: "*" 表示任何人,"?" 表示匿名
          (未经身份验证的)用户。
    -->

    <authorization>
        <allow users="*" /> <!-- 允许所有用户 -->
            <!--  <allow     users="[逗号分隔的用户列表]"
                             roles="[逗号分隔的角色列表]"/>
                  <deny      users="[逗号分隔的用户列表]"
                             roles="[逗号分隔的角色列表]"/>
            -->
    </authorization>

    <!--  应用程序级别跟踪记录
          应用程序级别跟踪为应用程序中的每一页启用跟踪日志输出。
          设置 trace enabled="true" 可以启用应用程序跟踪记录。如果 pageOutput="true",则
          在每一页的底部显示跟踪信息。否则,可以通过浏览 Web 应用程序
           根目录中的 "trace.axd" 页来查看
          应用程序跟踪日志。
    -->
    <trace
        enabled="false"
        requestLimit="10"
        pageOutput="false"
        traceMode="SortByTime"
localOnly="true"
    />

    <!--  会话状态设置
          默认情况下,ASP.NET 使用 Cookie 来标识哪些请求属于特定的会话。
          如果 Cookie 不可用,则可以通过将会话标识符添加到 URL 来跟踪会话。
         若要禁用 Cookie,请设置 sessionState cookieless="true"。
    -->
    <sessionState 
            mode="InProc"
            stateConnectionString="tcpip=127.0.0.1:42424"
            sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
            cookieless="false" 
            timeout="20" 
    />

    <!--  全球化
          此节设置应用程序的全球化设置。
    -->
    <globalization 
            requestEncoding="utf-8" 
            responseEncoding="utf-8" 
   />
   
 </system.web>
 

</configuration>
--------------------编程问答-------------------- <?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.web>

    <!--  动态调试编译
          设置 compilation debug="true" 以启用 ASPX 调试。否则,将此值设置为
          false 将提高此应用程序的运行时性能。 
          设置 compilation debug="true" 以将调试符号(.pdb 信息)
          插入到编译页中。因为这将创建执行起来
          较慢的大文件,所以应该只在调试时将该值设置为 true,而在所有其他时候都设置为
          false。有关更多信息,请参考有关
          调试 ASP.NET 文件的文档。
    -->
    <compilation 
         defaultLanguage="c#"
         debug="true"
    />

    <!--  自定义错误信息
          设置 customError 模式值可以控制应向
          用户显示用户友好错误信息而不是错误详细信息(包括堆栈跟踪信息):

          “On”始终显示自定义(友好的)信息  
          “Off”始终显示详细的 ASP.NET 错误信息。
          “RemoteOnly”只对不在本地 Web 服务器上运行的
          用户显示自定义(友好的)信息。出于安全目的,建议使用此设置,以便
          不向远程客户端显示应用程序的详细信息。
    -->
    <customErrors 
    mode="Off" 
    /> 

    <!--  身份验证 
          此节设置应用程序的身份验证策略。可能的模式是“Windows”、“Forms”、
          “Passport”和“None”
    -->
    <authentication mode="Windows" /> 

    <!--  应用程序级别跟踪记录
          应用程序级别跟踪在应用程序内为每一页启用跟踪日志输出。
          设置 trace enabled="true" 以启用应用程序跟踪记录。如果 pageOutput="true",则
          跟踪信息将显示在每一页的底部。否则,可以通过从 Web 应用程序
          根浏览 "trace.axd" 页来查看 
          应用程序跟踪日志。
    -->
    <trace
        enabled="false"
        requestLimit="10"
        pageOutput="false"
        traceMode="SortByTime"
localOnly="true"
    />

    <!--  会话状态设置
          默认情况下,ASP.NET 使用 cookie 标识哪些请求属于特定的会话。
          如果 cookie 不可用,则可以通过将会话标识符添加到 URL 来跟踪会话。
         若要禁用 cookie,请设置 sessionState cookieless="true"。
    -->
    <sessionState 
            mode="InProc"
            stateConnectionString="tcpip=127.0.0.1:42424"
            sqlConnectionString="data source=127.0.0.1;user id=sa;password="
            cookieless="false" 
            timeout="20" 
    />

    <!--  全球化
          此节设置应用程序的全球化设置。
    -->
    <globalization 
            requestEncoding="gb2312" 
            responseEncoding="gb2312" 
   />
   <httpRuntime maxRequestLength="1200000"></httpRuntime>
 </system.web>

</configuration>
这个没有问题
如果再有问题就是你服务器权限的问题了
再就是服务器虽然给你服务器权限了,但是用户在访问写入到数据库时也应该有写的权限。 --------------------编程问答-------------------- 我今天下午刚出现这样的错误,我也不知道怎么解决
--------------------编程问答-------------------- 我也遇到这个问题了,各位帮帮忙,到底该怎么解决啊?现在特别着急啊! --------------------编程问答-------------------- 这种问题建议打开错误提示后,直接在服务器上运行 http://localhost...(你的页面地址),这样会显示详细的错误信息~~ --------------------编程问答-------------------- 很简单  看看网站的IIS配置 asp.net版本是否正确
服务器是win 2003的话,看是否在web扩展中禁止了asp.net --------------------编程问答--------------------
引用 5 楼 yaoshun1983 的回复:
看看IIS里面的ASP.NET的版一是1.1还是2.0?
VS2005做的就选择2.0

LZ上传一个简单的html页面看看行不行
然后上传一个简单的aspx页面
如果一个空白aspx页面运行都出错,应该是这个ASP.NET问题
先确认下是程序问题还是服务器配置问题,然后再解决
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,