问题标签 [app-code]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
6758 浏览

asp.net - App_Code 和 web.config

假设我在 App_Code 中有一个类 (MyClass.cs)(使用 ASP.NET 网站,而不是项目)。没有为该类分配命名空间。

如何使该类在网站 .aspx 页面中有效?我需要在 web.config 文件中添加什么,我需要将它放在哪里?

我是<添加程序集标签还是<添加类型?

由于程序集标签需要版本、文化和公钥,我不确定这些值在编译时是什么。

我只是添加一个类型标签吗?我在哪里把它放在 web.config 中?

编辑: 好的,我找到了部分答案。我收到错误是因为“ http://localhost/MyFolder ”未在 IIS 中设置为“应用程序”。但是,我有一堆文件夹,“ http://localhost/MyFolder2http://localhost/MyFolder3等......

新问题:有什么方法可以不让 MyFolder 成为一个应用程序,并且仍然让它正常运行?我听说过“codesubdirectories”标签,它有用吗?我应该把它放在哪里?谢谢。

0 投票
3 回答
5135 浏览

class - ASP.NET - 如何引用不在 app_code 中的类

我创建了一个名为 MyMasterPage 的 MasterPage。

我还在 app_code 中创建了一个名为 Class1 的类:

在 Class1 中,我想引用 MyMasterPage 但我收到编译器警告:

我需要添加什么代码才能使其正常工作?

这些类位于文件夹中,如下所示:

替代文字 http://www.yart.com.au/stackoverflow/masterclass.png

0 投票
1 回答
400 浏览

.net - 为什么自定义会员提供程序文件必须位于我的 Web 应用程序的 app_code 文件夹中?

我正在编写一个基于 SQL 提供程序源的自定义 memberhsip 提供程序,我首先尝试将 SQL 提供程序设为一个单独的项目。然而,除非我将所有源代码放在我的网络应用程序的 APP_Code 文件夹中,否则网络应用程序将无法识别它。

这是您实现自定义提供程序的方式吗?我想我可以简单地从网络应用程序中引用提供者项目并继续前进。

0 投票
4 回答
1065 浏览

asp.net - 我应该在我的 MVC 应用程序中的哪里放置其他类

我有一个 ASP.NET MVC 应用程序,它使用放置在 Model 文件夹中的 Linq to SQL 类。

我想创建一些通常会放在我的 BLL 中的额外类,但我不确定如何使用 MVC 来处理它。

使用 WebForms,我可以将 DAL 作为类库。我的 BLL 作为引用我的 BLL 的类库。我的网站同时引用了 DAL 和 BLL。

我面临的问题是,如果我创建一个类库,这将需要引用我的 MVC 应用程序,因为它需要使用我的模型中包含的类型。

如果我然后添加(或尝试添加)对我的类库的引用,我将获得循环依赖。

在 Web 表单中。我的另一个选择是将类放在 App_Code 中。在 MVC 应用程序中是否有 App_Code 的等价物?

0 投票
1 回答
654 浏览

asp.net - ASP.Net 中的 App_Code 是否将新代码编译为辅助临时 AppDomain?

我试图更好地理解 App-Code 文件夹是如何运行的,特别是我很好奇 App-Code 文件夹中的新类如何包含在当前 AppDomain 中。是否以与使用 CodeDom 编译新对象时相同的方式创建第二个临时 AppDomain?

在许多方面,将新类/对象移动到 Web 应用程序中的能力非常引人注目。Rob Connery 的MVC Storefront就是一个很好的例子。如果您使用 App-code 文件夹来部署新功能,是否应该考虑任何权衡或陷阱?

更新:

在 CoDe Magazine 中找到了一篇文章,其中有一段有趣的段落:

您的应用程序特定代码可以内联到 ASPX 页面或控件,它可以进入 CodeBeside 部分类,或者您可以在 APP_CODE 文件夹中创建完全自治的类。APP_CODE 文件夹是 ASP.NET 2.0 项目中的一个特殊文件夹,您的 Web 项目中的任何非页面或控件相关的源代码都必须进入该文件夹。ASP.NET 将 APP_CODE 的内容视为库项目,并将内容编译为单独的程序集。然后,ASP.NET 从使用 APP_CODE 中定义的任何类的 ASPX/ASCX 页面创建的所有页面或目录级程序集都会引用此程序集。

我的问题仍然存在 - 是否创建了第二个支持此库的 AppDomain,如果是,对性能的影响是否最小?

0 投票
2 回答
65 浏览

.net - hepler 方法的最佳位置是 MasterPage 还是 App_Code?

在 MasterPage 中放置辅助方法是一种好习惯吗?

我是否应该担心当我在 App_Code 文件夹中引入新类时,会导致在内存中创建更多对象,并且构建和应用程序启动时间也会增加?

谢谢!

0 投票
2 回答
2562 浏览

asp.net - Linq-to-SQL 数据上下文不生成对象

我在 .NET 2.0 中工作,最近在现有 ASP.NET 网站项目上升级到 .NET 3.5 环境(VS2008、VB.NET)。我能够在 App Code 文件夹中生成一个 Linq-to-SQL 类(也称为 DataContext?),从活动连接中拖动表,然后保存它。我们称之为 MyDB。当我转到页面的代码隐藏文件并尝试声明“MyDBDataContext”对象时,它不在智能感知中,表明它不可访问。我检查了引用,并且必须正确设置,因为我制作了 .dbml 文件。我创建了一个新的测试 windows 应用程序项目,它的行为与预期完全一样,我可以毫无问题地关注这个博客。

Web 项目是否存在一些固有的东西不允许这些自动生成的对象可用?应用代码是声明它的正确位置吗?

如果你不能从上面说出来,我是这个行业的新手,对 LINQ 真的很陌生。

谢谢你的帮助。

0 投票
1 回答
97 浏览

themes - 您可以移动(或复制)子目录中的“特殊”.Net 文件夹(App_*)吗?

在子目录中而不是在根目录中是否可以有额外的.Net“特殊”文件夹(App_Code、App_Themes 等)?

我正在与一个在根目录中转储大量内容的 CMS 集成。我想把我所有的东西都放在一个子文件夹中,因为这将大大减轻我的 SVN 和部署负担。当它坐下来时,我必须挑选所有的东西来弄清楚什么是我的,什么是他们的,选择性地提交和忽略——大约需要一个小时。

我可以肯定将我所有的 Web 表单放在一个文件夹中。但是我需要处理 App_Code 中的类以及 App_Themes 中的图像和样式表。

那么,无论如何在子目录中有额外的App_Code 和 App_Themes,还是仅限于根目录?

(而且,是的,我知道创建应用程序,但这不起作用。我需要在与站点根目录中的所有内容相同的上下文中运行,因此它并不是一个真正独立的概念应用程序。)

0 投票
3 回答
1540 浏览

asp.net - 从 App_Code 访问 asp.net 配置文件

我正在创建一个从中派生特定页面的基类。也就是说,它们不是从 System.Web.UI.Page 继承我的页面,而是从 MyPage 继承(而后者又从 System.Web.UI.Page 继承)。

但是,我似乎无法访问 Profile 属性。尽管它们都继承自 Page,但如果我处于实际页面级别,我只能访问 Profile 属性。

我确定这只是我对页面生命周期的误解,但是有没有办法从 App_Code 中定义的自定义类访问配置文件?

0 投票
1 回答
1651 浏览

asp.net - App_Code 之外的页面类将无法编译

我有一个包含 2 个文件的网站,如下所示:

  • 页面.aspx
  • page.aspx.cs

以前我可以将新文件拖放到 Web 服务器上,IIS 会自动编译这些文件,我可以访问该页面,例如

http://www.website.com/page.aspx

...以及 .cs 文件中包含的页面类中的相关功能可以很好地工作。

现在我收到错误:“无法加载类型命名空间.classname”,它指的是我的页面类。

现在出于某种奇怪的原因,我必须将所有 .cs 文件,甚至是页面类放入 app_code 文件夹中。

在我的网站上发生的所有变化是我重新组织了结构,以便我的页面不再位于 Web 根目录上,而是位于http://.../newfolder/page.aspx中。

由于某种原因,我的所有 page.aspx.cs 文件现在都必须在 app_code 中。

有任何想法吗?