在ASP.NET网站上执行方法的最快方法是什么?
场景非常简单:我有一个方法,应该在网页被击中时执行.页面上没有其他任何事情发生,唯一呈现的输出是"完成"消息.我希望处理尽可能快.
每一次点击都是唯一的,因此缓存不是一种选择.
我的计划是使用HttpHandler并在web.config(mypage.ashx)中配置它,而不是常规的.aspx页面.这应该会显着减少开销.
所以我的问题是:有没有比使用HttpHandlers更快的方法来实现这一目标?
我正在开发一个Intranet.NET MVC应用程序.我需要存储与每个经过身份验证的用户关联的位置,ID号等用户详细信息.
在.NET Webform应用程序中,我们用于在会话中保存登录用户的详细信息.但.NET MVC应用程序的最佳实践是什么?
我刚刚在Windows SErver 2008 R2 x64上安装了.NET 4,并且我使用ASP.NET MVC应用程序获得了500内部服务器错误,该应用程序以前在3.5上运行正常.该应用程序已从目标3.5升级到目标4,我个人今天在我的开发机器上构建它(在VS中更改 - 属性到.NET Framework 4).
在服务器上,我通过Web Platform Installer自动安装了.NET Framework 4 Client profile和Full.ASP.NET MVC 2也通过Platform Installer安装.我在IIS中创建了一个新的.NET 4应用程序池,并将Web应用程序放入其中.
此外,我在web.config中关闭了自定义错误,但即使这样也没有显示详细错误 - 只是普通的IIS 7.5 500内部服务器错误.
有什么建议?
在一些写真集页面上,我想显示appr 20缩略图.这些缩略图以编程方式从数据库加载.那些缩略图已经调整大小.当我向他们展示图像加载有点慢.有些需要0.5秒才能加载一些等待2个secons.数据库并不重要,因为当我删除数据库层时,性能问题仍然存在.当我直接用html加载相同的图像时,图像会立即加载.
通过mvc框架加载图像/文件是慢还是我错过了什么?
这太慢了
//in html
<img src='/File/Image.jpg' border='0'>
//in controller
public FileResult File(string ID)
{
//database connection removed, just show a pic
byte[] imageFile = System.IO.File.ReadAllBytes(ID);
return new FileContentResult(imageFile,"image/pjpeg");
}
Run Code Online (Sandbox Code Playgroud)
这很快就会发生
<img src='/Content/Images/Image.jpg' border='0'>
Run Code Online (Sandbox Code Playgroud) 我正在尝试测试我从这里阅读最多的 MVC4 异步控制器操作:http : //www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4
下面是我的控制器:
public class HomeController : AsyncController
{
//
// GET: /Home/
public async Task<ActionResult> Index()
{
WriteOnFile("Here dude. Time: " + DateTime.Now.ToString("HH:mm:ss:fff"));
await Task.Delay(10000);
return View();
}
private void WriteOnFile(string text)
{
using (Mutex mutex = new Mutex(false, "TempFile"))
{
mutex.WaitOne();
using (var writer = new StreamWriter(@"D:\Temp\temp.txt", true))
{
writer.WriteLine(text);
}
mutex.ReleaseMutex();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在通过打开指向 ~/home/index 的 5 个浏览器选项卡并一次刷新它们来测试这一点。
以下是我得到的输出:
时间戳相隔 10 秒。这意味着在前一个请求完成后处理每个请求。这就是同步控制器动作所做的,但我希望异步控制器动作能够在等待时处理请求。为什么 async 在上面的例子中不起作用?我做错了什么?
我在带有 .net 4.5 …
c# ×2
performance ×2
.net ×1
.net-4.0 ×1
asp.net ×1
asp.net-mvc ×1
asynchronous ×1
file ×1
httphandler ×1
load ×1