我正在使用静态和非静态方法从类中读取线程,我处于类似情况.
我有一个静态方法,从资源中提取数据并根据数据创建一些运行时对象.
static class Worker{
public static MyObject DoWork(string filename){
MyObject mo = new MyObject();
// ... does some work
return mo;
}
}
Run Code Online (Sandbox Code Playgroud)
该方法需要一段时间(在这种情况下,它读取5-10mb文件)并返回一个对象.
我想采用这种方法并在多线程情况下使用它,这样我就可以一次读取多个文件.除了设计问题/指南,多个线程如何访问此代码?
假设我有类似的东西......
class ThreadedWorker {
public void Run() {
Thread t = new Thread(OnRun);
t.Start();
}
void OnRun() {
MyObject mo = Worker.DoWork("somefilename");
mo.WriteToConsole();
}
}
Run Code Online (Sandbox Code Playgroud)
是否为每个线程运行静态方法,允许并行执行?
我正在编写一个ASP.NET应用程序,它根据通过Request对象发送的内容初始化一些上下文数据.我应该如何存储它,以便它只对处理请求的对象可见?
基本上我有一个查看请求的HttpModule,并根据传入的数据做一些事情:
public void OnBeginRequest(object sender, EventArgs e){
if((sender as HttpApplication).Request.Url.Host == "something"){
// Store some extra information here
}
}
Run Code Online (Sandbox Code Playgroud)
然后我想在视图中稍后在管道中检索数据
<%: somehowGetRequestSpecificData.MyProperty %>
Run Code Online (Sandbox Code Playgroud)
我应该如何以及在哪里存储这些东西?
我正在开发一个简单的ASP.NET网站,它将在WS2008(IIS7)盒子上的Intranet上运行,并响应运行XP/IE8的用户.一切都是域连接的,我试图像SharePoint一样自动登录用户.
在我的开发机器(XP)上,当通过VS运行网站时,一切正常.我可以完美地接收用户.我使用以下设置:
<authentication mode="Windows"/>
<identity impersonate="true"/>
<anonymousIdentification enabled="false"/>
<authorization>
<allow users="*"/>
<deny users="?"/>
</authorization>
Run Code Online (Sandbox Code Playgroud)
但是,当我发布到WS2008框时,它不起作用.显然,我在IIS7中缺少一个支持此设置的设置.
我在网站上有以下身份验证设置:
Anon Auth - Enabled
ASP.NET Impersonation - Enabled
Basic Auth - Disabled
Forms Auth - Disabled
Windows Auth - Disabled
Run Code Online (Sandbox Code Playgroud)
我错过了什么?谢谢