Tag: 静态

使用静态C#修改ThreadStatic

我有一些代码,我在C#中使用线程静态对象。 [ThreadStatic] private DataContext connection 我想知道,在这种情况下,如果我将静态修饰符放在线程静态上下文中,将会得到什么更改? [ThreadStatic] private static DataContext connection 第一个会有每个线程每个实例的上下文副本,其他每个线程只有一个副本?

静态代码块

从Java到C#我有以下问题:在Java中我可以做到以下几点: public class Application { static int attribute; static { attribute = 5; } // … rest of code } 我知道我可以从构造函数初始化这个,但是这不符合我的需要(我想初始化并调用一些实用函数而不创build对象)。 C#支持这个吗? 如果是的话,我怎么能做到这一点? 提前致谢,

静态和常量variables有什么区别?

有人可以解释一个static和constvariables之间的区别吗?

ASP.NET静态variables的生命周期

我在页面类(而不是Global.asax)中定义的静态variables中保存一些信息。 我只在代码中声明variables,如: protected static int SomeGlobalUnsecureID; protected static string SomeGlobalUnsecureString; 并在PageLoad事件中定义variables。 例如,我从数据库中检查ID,如果它与SomeGlobalUnsecureID不同,我从其他地方更新SomeGlobalUnsecureID和String,否则保持原样。 这在我的应用程序中是完全安全的。 逻辑(即那些数据不安全,每个人都可以访问它们,没问题); 只有我想完成的事情是 保持相同的内存量,不pipe用户连接 改变当且仅当持久性信息与“内存”中的信息不同时(因为实际上读取string对我来说是耗时的。 现在,由于我在PageLoad中进行检查,所以在重新加载页面时没有问题。 但是,我的页面充满了WebMethods,有时我看到静态variables归零。 而奇怪的部分是; 即使静态variables被清零(所以 – >服务器或应用程序池重启等),会话仍然是活动的。 这对我来说真的很奇怪 我假设静态variables将保持其值,直到应用程序(以某种方式)结束。 但即使Session没有过期,静态variables也被清零。 你有什么build议? 使用应用程序variables是更好的select吗? 我在网上阅读的所有文档都build议使用静态variables而不是应用程序variables,是否需要声明它们不同?

我怎样才能得到一个静态方法中的会话variables的值?

我正在使用jQuery的asp.net pagemethods ….如何获得静态方法在C#中的会话variables的值? protected void Page_Load(object sender, EventArgs e) { Session["UserName"] = "Pandiya"; } [WebMethod] public static string GetName() { string s = Session["UserName"].ToString(); return s; } 当我编译这个时,我得到的错误: 非静态字段,方法或属性“System.Web.UI.Page.Session.get'`需要对象引用 任何build议或任何其他select?

如何初始化一个静态数组?

我已经看到了用Java定义静态数组的不同方法。 或者: String[] suit = new String[] { "spades", "hearts", "diamonds", "clubs" }; …或只有 String[] suit = { "spades", "hearts", "diamonds", "clubs" }; 或作为一个List List suit = Arrays.asList( "spades", "hearts", "diamonds", "clubs" ); 是否有区别(当然,列表定义除外)? 什么是更好的方式(性能明智)?

为什么两个程序有前向引用错误,而第三个程序没有?

以下不会编译,给出一个“非法前向引用”的消息: class StaticInitialisation { static { System.out.println("Test string is: " + testString); } private static String testString; public static void main(String args[]) { new StaticInitialisation(); } } 但是,以下编译: class InstanceInitialisation1 { { System.out.println("Test string is: " + this.testString); } private String testString; public static void main(String args[]) { new InstanceInitialisation1(); } } 但是下面不会编译,给出一个“非法的前向引用”的信息: class InstanceInitialisation2 […]

Qt静态链接和部署

我试图部署(发布到公众)一个简单的QT应用程序,我最近做的,但卡在静态链接QT库。 我按照qt文档指南来重新构buildqt和我的应用程序静态。 但发布版本仍然需要qtgui / qtcore dll没有明显的原因,不知有没有人见过这种types的问题? 甚至更好,已经成功解决了吗? http://doc.qtsoftware.com/4.5/deployment-windows.html

ThreadStatic与ThreadLocal <T>:通用比属性更好吗?

[ThreadStatic]是使用属性定义的,而ThreadLocal<T>使用generics。 为什么select不同的devisescheme? 在这种情况下使用通用属性的优点和缺点是什么?

GCC中的函数静态variables是否是线程安全的?

在示例代码中 void foo() { static Bar b; … } 使用GCC编译是保证b将被创build和线程安全的方式初始化? 在gcc的手册页中,find了-fno-threadsafe-statics命令行选项: 不要发出额外的代码来使用C ++ ABI中指定的用于本地静态线程安全初始化的例程。 您可以使用此选项在不需要线程安全的代码中稍微减less代码大小。 这是否意味着,本地静态在GCC默认情况下是线程安全的? 那么没有理由明确地捍卫,例如与pthread_mutex_lock/unlock ? 如何编写可移植代码 – 如何检查编译器是否会添加其警卫? 还是closuresGCC的这个function更好?