您的位置:首页 > 编程语言 > ASP

第一次发布ASP.NET程序所遇到的坎坷

2010-09-30 16:20 239 查看
第一次做ASP.NET程序,在发布的过程当中遇到了不少的麻烦。总结如下:

1、网页发布的时候遇到的问题:
错误 1 c:/Documents and Settings/Administrator/桌面/梧洲供水调度辅助系统/WZWaterFactory/WZWaterFactory/Motherboard.Master(88): error CS0433:”WZWaterFactory.UserControl.FormTop”同时存在于“c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/wzwaterfactory/a17d9158/8f3fd117/assembly/dl3/20dd16c6/00a799ce_ff23cb01/WZWaterFactory.DLL”和“c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/wzwaterfactory/a17d9158/8f3fd117/App_Web_bdiupd2j.dll”中

解决方法:

<%@ Page Language="C#" MasterPageFile="~/Motherboard.Master" AutoEventWireup="true" CodeFile="ChkEquipment.aspx.cs" Inherits="InfoManage_ChkEquipment" Title="无标题页" %>

每个页面都看一下Inherits后面的名称是否与你的本页面名称相同。再看看页面的定义是否一致。

再仔细看一下每个页面定义的类是否类型一致,如果不一致,则相办法要一致才行.

比如:
你有一个abc的表
还有一个abc1的表
你的abc表的应该是Inherits =“abc.aspx.cs”
但是你可能写成Inherits =“abc1.aspx.cs”

2)如何在 IIS 中创建和配置虚拟目录?

首先需要启动 IIS 管理器。
要点
若要执行下面一个或多个过程,您必须以本地计算机上的 Administrators 组成员的身份登录,或者必须已经被委派了适当 的权限。
从“运行”对话框中启动 IIS 管理器
1.在“开始”菜单上单击“运行”。
2.在“打开”框中,键入 inetmgr,然后单击“确定”。
从管理服务控制台启动 IIS 管理器
1.在“开始”菜单上单击“运行”。在“运行”文本框中键入 control panel,然后单击“确定”。
2.在“控制面板”窗口中单击“管理工具”。
3.在“管理工具”窗口中单击“Internet 信息服务”。
创建虚拟目录
现在,IIS 管理器已经启动,您可以创建虚拟目录了。
·使用 IIS 管理器创建虚拟目录
1.在 IIS 管理器中,展开要添加虚拟目录的本地计算机和网站。右击要创建虚拟目录的站点或文件夹,指向“新建”,然后单击“虚拟目录”。
2.在虚拟目录创建向导中,单击“下一步”。
3.在“别名”框中,键入虚拟目录的名称,然后单击“下一步”。选择一个易于键入的简称,因为用户必须键入此名称才能访问网站。
4.在“路径”框中,键入或浏览至包含虚拟目录的物理目录,然后单击“下一步”。请注意,您可以选择现有的文件夹或者创建一个新文件夹来包含虚拟目录的内容。
5.选中与要分配给用户的访问权限对应的复选框。默认情况下,“读取”和“运行脚本”复选框处于选中状态;使用这些权限,您可以在许多常见情况下运行 ASP.NET 页。
6.单击“下一步”,然后单击“完成”。

配置虚拟目录

在创建新的虚拟目录后,可以将它配置为运行 ASP.NET 页并配置安全性。
为访问 ASP.NET 当前用户上下文的系统资源而配置的帐户

在完成对虚拟目录的配置后,可以向与虚拟目录关联的物理目录添加 ASP.NET 网页。
为虚拟目录配置安全性和身份验证

1.在 IIS 管理器中,右击要配置的虚拟目录的节点,然后单击“属性”。
2.单击“目录安全性”选项卡,然后在“身份验证和访问控制”部分单击“编辑”。
3.选中与要用于虚拟目录的身份验证方法对应的复选框,然后单击“确定”。默认情况下,“启用匿名访问”和“Windows 集成身份验证”复选框已经处于选中状态。
注意
两个最常见的身份验证方案是对本地 Intranet 站点使用 Windows 集成身份验证,对用户通过防火墙访问的 Internet 或 Extranet 站点使用 Forms 身份验证。若要为 Intranet 或本地开发方案配置身份验证,请清除“启用匿名访问”复选框,并确保“集成 Windows 身份验证”复选框处于选中状态。若要为 Internet 站点配置身份验证,需要设置 Forms 身份验证。
4.在 Windows 资源管理器中,定位到将包含站点各页的文件夹。右击该文件夹,然后单击快捷菜单上的“共享和安全”。
5.在“安全”选项卡上,配置所需的其他任何帐户和权限,然后单击“确定”。
注意
若要更改现有帐户的权限,请在“组或用户名”列表中选择该帐户,然后选中相应的权限复选框。若要添加新帐户,请单击“添加”,然后单击“位置”按钮。从列表中选择本地计算机名,再单击“确定”。然后在文本框中键入要添加的特定帐户名。键入帐户名之后,单击“检查名称”对帐户名进行验证,最后单击“确定”添加 该帐户。

3)检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件时失败。上网查了一下,跟office有关, 因为我要生成大量的Excel报表。在网上搜索到了一篇文章,解决了这个问题。解决方法如下:

配置 DCOM 中 EXCEL 应用程序:
要在交互式用户帐户下设置 Office 自动化服务器,请按照下列步骤操作:
1. 以管理员身份登录到计算机,并使用完整安装来安装(或重新安装)Office。为了实现系统的可靠性,建议您将 Office CD-ROM 中的内容复制到本地驱动器并从此位置安装 Office。
2. 启动要自动运行的 Office 应用程序。这会强制该应用程序进行自我注册。
3. 运行该应用程序后,请按 Alt+F11 以加载 Microsoft Visual Basic for Applications (VBA) 编辑器。这会强制 VBA 进行初始化。
4. 关闭应用程序,包括 VBA。
5. 单击开始,单击运行,然后键入 DCOMCNFG。选择要自动运行的应用程序。应用程序名称如下所示:
Microsoft Access 97 - Microsoft Access 数据库
Microsoft Access 2000/2002 - Microsoft Access 应用程序
Microsoft Excel 97/2000/2002 - Microsoft Excel 应用程序
Microsoft Word 97 - Microsoft Word Basic
Microsoft Word 2000/2002 - Microsoft Word 文档
单击属性打开此应用程序的属性对话框。
6. 单击安全选项卡。验证使用默认的访问权限和使用默认的启动权限已选中。
7. 单击标识选项卡,然后选择交互式用户。
8. 单击确定,关闭属性对话框并返回主应用程序列表对话框。
9. 在 DCOM 配置对话框中,单击默认安全性选项卡。
10. 单击访问权限的编辑默认值。验证访问权限中是否列出下列用户,如果没有列出,则添加这些用户:
SYSTEM
INTERACTIVE
Everyone
Administrators
IUSR_ <machinename> *
IWAM_ <machinename> *
* 这些帐户仅在计算机上安装了 Internet Information Server (IIS) 的情况下才存在。
11. 确保允许每个用户访问,然后单击确定。
12. 单击启动权限的编辑默认值。验证启动权限中是否列出下列用户,如果没有列出,则添加这些用户:
SYSTEM
INTERACTIVE
Everyone
Administrators
IUSR_ <machinename> *
IWAM_ <machinename> *
* 这些帐户仅在计算机上安装有 IIS 的情况下才存在。
13. 确保允许每个用户访问,然后单击确定。
14. 单击确定关闭 DCOMCNFG。
如果你之前起用了身份模拟 (在 web.config 中配置了 <identity impersonate= "true "/> ) ,需要删除之!...

4)连接数据库连接不上。在自已的电脑上可以连接上,但是一放到服务器上就总是不行。最后终于找到了原因,是因为我使用的是Windows身份验证的方式。而这种方式只适合于单机操作。要实现客户端与服务器端的网络化操作,则必须将身份验证的方式更改为SQL Sever的身份验证的方式。具体的方式如下:

一.控制面板-》服务-》MS SQL SERVER-》登陆--》本(地)系统帐户--》重新启动MS SQL SERVER
用windows验证登陆查询分析器--》执行 sp_password null,sa新密码,'sa'

二."无法连接到服务器,用户xxx登陆失败"
该错误产生(的)原因是由于SQL Server使用了"仅 Windows"(的)身份验证方式,
因此用户无法使用SQL Server(的)登录帐户(如 sa )进行连接.解决方法如下所示:
1.在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server
操作步骤:
在企业管理器中
--右键你们(的)服务器实例(就是那个有绿色图标(的))
--编辑SQL Server注册属性
--选择"使用windows身份验证"
--选择"使用SQL Server身份验证"
--登录名输入:sa,密码输入sa(的)密码
--确定
2.设置允许SQL Server身份登录
操作步骤:
在企业管理器中
--展开"SQL Server组",鼠标右键点击SQL Server服务器(的)名称
--选择"属性"
--再选择"安全性"选项卡
--在"身份验证"下,选择"SQL Server和 Windows ".
--确定,并重新启动SQL Server服务.
在以上解决方法中,如果在第 1 步中使用"使用 Windows 身份验证"连接 SQL Server 失败,
那就通过修改注册表来解决此问题:
1.点击"开始"-"运行",输入regedit,回车进入注册表编辑器
2.依次展开注册表项,浏览到以下注册表键:
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer]
3.在屏幕右方找到名称"LoginMode",双击编辑双字节值
4.将原值从1改为2,点击"确定"
5.关闭注册表编辑器
6.重新启动SQL Server服务.
此时,用户可以成功(地)使用sa在企业管理器中新建SQL Server注册,
但是仍然无法使用Windows身份验证模式来连接SQL Server.
这是因为在 SQL Server 中有两个缺省(的)登录帐户:
BUILTIN/Administrators
<机器名>/Administrator 被删除.
要恢复这两个帐户,可以使用以下(的)方法:
1.打开企业管理器,展开服务器组,然后展开服务器
2.展开"安全性",右击"登录",然后单击"新建登录"
3.在"名称"框中,输入 BUILTIN/Administrators
4.在"服务器角色"选项卡中,选择"System Administrators"
5.点击"确定"退出
6.使用同样方法添加 <机器名>/Administrator 登录.
说明:
以下注册表键:
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer/LoginMode
(的)值决定了SQL Server将采取何种身份验证模式.
1.表示使用"Windows 身份验证"模式
2.表示使用混合模式(Windows 身份验证和 SQL Server 身份验证

最后还有一个问题,在配置好后,我用sqlDataSource配置数据源连接数据库,可总是连接不上,在服务器的下拉列表框中找不到服务器的名称。即使找到了,在数据库的下拉列表框中也又找不到数据库。很是郁闷,最后还是用连接字符串:StrCon = "Data Source=PC-201008091058;Initial Catalog=FMWaterFactory;User ID=sa;Password=sa;connect TimeOut=500";搞定,但那个到现在都还不知道是怎么回事。

呵呵,总之遇到的这类问题就只有这些了,需再接再励,多积累点经验。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐