一个初学者刚学asp.net遇到几个小问题,尝试过还是不明,请教!

com555 2009-03-12 03:19:48
写了ASP一年半过渡到ASP.NET.遇到几个小问题搞了一天多了还是不明白。

下载了一个留言版。

开始是把留言版放到IIS的子目录下的,一运行,报错。研究一翻我把web.conf和app_code放到子目录下,运行正常了。
原来放在app_code里文件夹中.cs文件才可以被其它cs文件调用,比如在需要的页面用 using namespace;

为什么一定要放在根目录下呢,后来发现然来可以定个虚拟目录可以把app_code和 web.conf放到虚拟目录下也可以运行。

但想这样要在IIS上做改动还是不太好的。比如像我们学校的网站,不可能每个都去改成虚拟目录。。

可不可以不改成虚拟目录。直接把网站放到FTP就可以发布呢。。就是daxue/gong/sys
怎样能让其它cs页面可以知道app_code文件夹下面有我定义的namespace; 通常直接using namspace;是不能发现的
或者在.cs页面引入其它.cs文件。。。。
...全文
194 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
com555 2009-03-14
  • 打赏
  • 举报
回复
我昨晚明白了。。其实一定要建虚拟目录的。一个虚拟目录就是一个网站有一个专门的进程/线程。。

app_code里面的代码每次都会编译。发布的话。最好把自已的类生成bin写到bin文件下。。


asp.net网站进程总是先编译app_code文件夹再加载bin文件夹下的dll

我说的对吧!个人理解。。。

谢谢大家的指点了。
mubai007 2009-03-13
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 com555 的回复:]
我直接问吧。。如果你们自已做了很多类,你怎么加载你们的类。怎么调用。。。。是不是一定要放在根目录下的app_code。?
[/Quote]

1、ASP.NET会建议你放在app_code里面,如果类比较多的话,可以在app_code里面建立自己的子文件夹。
例如:app_code
--common
--DB
2、common里面的类定义命名空间
namespace sheenrun.Common
{
public class Log
{}
}
3、在其它页面引入命名空间
using sheenrun.Common;
4、生成Log类的实例
Log m_clsLog = new Log();
这里不能贴图,给你写了篇文章,里面有截图。
http://blog.csdn.net/mubai007/archive/2009/03/13/3986880.aspx
  • 打赏
  • 举报
回复
你去www.51aspx.com下个源码看下就明白了
together14629 2009-03-12
  • 打赏
  • 举报
回复
学习
rosickyaimar 2009-03-12
  • 打赏
  • 举报
回复
留名关注
巴掌锅 2009-03-12
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 com555 的回复:]
我直接问吧。。如果你们自已做了很多类,你怎么加载你们的类。怎么调用。。。。是不是一定要放在根目录下的app_code。?
[/Quote]
不一定放在根目录下的app_code
这个问题很简单啊 你做一个类后之后直接生成 然后在另一个页面 直接加那个类的命名空间 在实例化 就可以用了
你可以在网上下个MVC的三层架构案例 看看
com555 2009-03-12
  • 打赏
  • 举报
回复
我直接问吧。。如果你们自已做了很多类,你怎么加载你们的类。怎么调用。。。。是不是一定要放在根目录下的app_code。?
com555 2009-03-12
  • 打赏
  • 举报
回复


我直接问吧。。如果你们自已做了很多类,你什么怎么加载你们的类。怎么调用。。。。是不是一定要放在根目录下的app_code。?
mubai007 2009-03-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 com555 的回复:]
如果app_code放到子目录下呢是。其它文件是不能直接引用的。。一定要放根目录下!你怎样认为呢.
当前的CS文件如何让他知道我有定义一些新的namespace呢。
[/Quote]
app_code是ASP.NET文件夹,是在根目录下自动产生的,怎么可能放到子目录下呢?为什么要放到子目录下呢?

[Quote=引用 4 楼 com555 的回复:]
这样不太好吧。。一般学校只给学院设一个虚拟目录。。。如果团委,学工办的网站都要到学校去添加一个虚拟目录可能不太方便。。
我知道ASP就一定可以的。。只要能运行放哪都可以。不用设什么虚拟目录
[/Quote]

团委,学工办的网站,是学院的团委、学工办吗?如果是这样,为什么不把它们整合在一起作为一个网站发布呢?只不过是在学院的首页里增加几个超链接而已。
你们学校的网站都是各做各的吗?
mubai007 2009-03-12
  • 打赏
  • 举报
回复
首先确定一下:你用的是ASP.NET吗?

一般来讲app_code目录下放的是单独的类文件,这些类可以在网站的其它类或页面后台文件中使用,设计这些类时可以设置namespace,用时只要using namspace就可以了。你说"通常直接using namspace;是不能发现的或者在.cs页面引入其它.cs文件。。。。 ",我不理解。

另外,虚拟目录下应该包含网站用到的所有文件(包括web.config和app_code),你说"比如像我们学校的网站,不可能每个都去改成虚拟目录。。 ",难道你们学校的网站不是一个吗(照你说的推算,好象是一块块的)?

建议你把整个留言版代码放到VS中,重新编译,VS2005会自动建一虚拟目录,所以编译后直接运行就可以了,如果运行没问题再把它与你的其它文件整合到一起,发布到IIS上。
com555 2009-03-12
  • 打赏
  • 举报
回复
这样不太好吧。。一般学校只给学院设一个虚拟目录。。。如果团委,学工办的网站都要到学校去添加一个虚拟目录可能不太方便。。

我知道ASP就一定可以的。。只要能运行放哪都可以。不用设什么虚拟目录
com555 2009-03-12
  • 打赏
  • 举报
回复
如果app_code放到子目录下呢是。其它文件是不能直接引用的。。一定要放根目录下!你怎样认为呢.

当前的CS文件如何让他知道我有定义一些新的namespace呢。
Teng_s2000 2009-03-12
  • 打赏
  • 举报
回复
如果App_Code中的类有namespace可以直接使用
namespace.ClassName
Teng_s2000 2009-03-12
  • 打赏
  • 举报
回复
App_code下面的类文件不需要using namespace,项目中可以自动引用

至于IIS问题,不创建虚拟目录(IIS6也可以创建网站)是不行,VS2005可以将网站直接发布到ftp,iis,远程计算机,本人只是弄过IIS的,个人感觉发布到ftp后也需要将那个文件夹设为虚拟目录的

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧