- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
关于在 ASP.Net 应用程序中使用这些变量,我遇到了一些困惑。
public static string Complete = "Complete";
据我所知,这个值对所有用户都是全局的,但由于应用程序池回收,这个值不能保证存在,而且这个值没有在回收时分配?
public static readonly string Complete = "Complete";
readonly
标志是否意味着由于使用类的静态构造函数进行初始化,该值始终可用,这意味着该值将始终可用?
据我所知,在 readonly
场景中会发生以下情况:
readonly
和非readonly 版本有什么区别吗?我想我们也可以这样写来保证变量:
public static string Complete { get { 返回“完成”; }
最佳答案
readonly
将在初始化后简单地停止被更改的变量所持有的值。它不会影响静态的生命周期 - 它仍然和以前一样。
请注意,如果 static 是一个引用,readonly
属性不会阻止底层对象发生变异,它只会阻止静态变量的值被更改 - 在这种情况下类引用,该值是引用本身。
关于只读的 MSDN C# 文档:
http://msdn.microsoft.com/en-us/library/acdd6hb7(v=VS.100).aspx
readonly
static 将对 const
产生类似的影响(假设您正在制作静态的东西适用于 const
)当您谈论具有全局不变的值(value)。当您第一次尝试访问静态时,它将当场初始化并且永远不允许更改。
所以:
public static readonly string Something = "what";
实际上会像这样:
public const string Something = "what";
尽管后者是编译时间常量,而前者不是——所以它的行为有一些关键的区别。我更多地是在谈论一种在全局范围内可用且不会改变的值(value)的想法。
在 ASP.NET 和静态回收方面,readonly static 和 const 之间的区别在于,如果静态还没有被初始化,它只会产生初始化的费用。然而,对于所描述的用法,const
更合适。
关于C# ASP.Net Webforms - 字符串 - 静态与静态只读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7977985/
所以我试图将 MiniProfiler ( https://github.com/MiniProfiler/dotnet ) 用于 WebForms 网站。我所做的是: 使用 nuget 安装软件包
是否有等同于 Webforms 的 MvcBuildViews? 最佳答案 不。 另一种方法是将构建后操作添加到 Visual Studio 项目并让它运行 aspnet_compiler.exe “
是否有使用 CSP(内容安全策略)将 WebForms 项目中动态创建的脚本列入白名单的安全方法? 使用 unsafe-inline像下面它的工作原理,但不推荐。 context.Response.H
我们正在尝试使用在经典模式应用程序池中运行的 ASP.NET WebForms 应用程序配置 MiniProfiler(无法将其更改为集成)。我们无法让处理程序工作,因此加载资源失败。 为了解决这个问
是否 ASP.Net 核心 1.0 支持.Net WebForm 项目吗?或者它只是一个 MVC 环境?我也可以在那里创建经典的 Web 服务(asmx)吗? 最佳答案 简短回答:不,ASP.NET
我正在尝试将数据从 webform 传递到方法背后的代码并在 webform 中取回值,然后打印它。我最初测试了以下代码以简单地将请求发布到方法,获取字符串并在页面中打印,它可以工作,但是在尝试将数据
我创建了一个新的 ASP.NET 4.5 WebForms 项目,并发现了一堆与 GridView、DetailsView 和其他数据相关组件以及 MSAjax 相关的额外 javascript 文件
我正在使用带有模型绑定(bind)和 Entity Framework 5 的 .net 4.5 WebForms。 我的网络表单的一部分:
在搜索了很多类似的帖子、解决方法之后,我决定自己发帖。 Compilation Error Description: An error occurred during the compilation
我将在一个项目中工作,我们将在该项目中将 ASP 经典页面重写为 ASP.NET WebForm。我从未使用过 VB、VBScript、ASP Classic。好处是有大量关于 VB6、VB.NET、
在 vs2012 中,f7 键在 aspx/ascx/masterpage 文件的 Markup 和 Codebehind 之间切换。在我重新安装系统之前,Vs2013 的行为方式相同。现在它只会从
我正在尝试登录网站并自动保存 HTML 页面(我希望能够定期执行此操作)。从表面上看,这是一个典型的现代网站,如果用户直接导航到“锁定”的 URL,则会弹出一个登录表单,登录后,用户将被重定向到预期页
我看到人们在以Webform进行路由时使用星号符号。我只是不明白像下面这样的星号的重要性 routes.MapPageRoute( "View Category", /
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this qu
我正在尝试在 aspx 页面中执行类似的操作: 我收到错误“预处理器指令必须显示为行上的第一个非空白字符”。我怎样才能做到这一点?
我想渲染一个表单。字段行的 HTML 应该是这样的: 当字段类型为文本时,li.class 必须相同。 我覆盖了 field_row block : {% block
目前我所有的网络表单文件 (.aspx) 都在我的项目 (VS 2012) 的根文件夹中。 我创建了一个名为“pages”的新文件夹,并使用母版页向其中添加了一个新的网络表单 (WebForm1)。当
我正在为销售文员制作一个 asp.net、c#、webforms 网站。我在屏幕顶部有四个主要按钮,我将使用它们来实现很多功能。我想要做的是将这些按钮设置为键盘上的 F1、F2、F3 和 F4 键。
我在网络表单上有两个按钮,它们的显示高度不同。这发生在我更新 Gravity Forms 之后。 参见 http://topdek.nl/prijs/ ,输入随机名称、电子邮件地址和电话号码,单击“V
在我的 WebForms 应用程序中,我有一个 CustomValidator 控件。该控件执行我创建的 JavaScript 函数。如果此函数返回 false,则表单将不会提交。此验证器与标准 Re
我是一名优秀的程序员,十分优秀!