相关疑难解决方法(0)

ASP.NET的Comet实现?

我一直在寻找在浏览器中实现类似gmail的消息传递的方法,并得出了Comet的概念.但是,我还没有找到一个很好的.NET实现,允许我在IIS中执行此操作(我们的应用程序是用ASP.NET 2.0编写的).

我找到的解决方案(或者可以想到的解决方案)需要为每个用户留下一个正在运行的线程 - 这样一旦收到消息就可以向他返回响应.当然,这根本不可扩展.

所以我的问题是 - 你知道Comet的ASP.NET实现以不同的方式工作吗?这甚至可以用于IIS吗?

asp.net iis comet

103
推荐指数
3
解决办法
4万
查看次数

异步处理asp.net mvc与客户端进度反馈

我正在构建一个图像管理工具,我想知道如何创建类似Vimeo的体验.

需要说明的内容
用户将能够使用plupload上传许多可能较大的图像(无页面重新加载).然后,服务器将对每个上载的映像执行以下操作.

  • 图像将调整为多个版本(例如拇指,小,中,大)
  • 每个副本都将完成一些图像处理(例如卷积滤波器)
  • 这些已调整大小的副本将上载到Amazon S3
  • 有关每个图像的信息将存储到数据库(宽度,高度,mimetype,文件名)
  • 然后服务器应该向用户触发某种反馈

提供异步反馈
Plupload(图像上传工具)在将文件上传到我的服务器时有非常好的视觉反馈,但是,我希望能够在服务器进行所有图像处理并上传到远程存储时向用户提供额外的反馈.

Vimeo做得很好.当您上传视频时,它会确认已上传,但随后说"我们正在对您的视频进行编码,请稍候",并且用户界面会提供某种进度指示.

在将图像上传到我的服务器后,我想给用户两种反馈.每次处理图像并上传到S3时,我想:

  • 更新浏览器上的消息,说"已经处理了15张图片中的5张",我想这样做
  • 显示该图像的缩略图.

示例MVC控制器操作

[HttpPost]
public virtual ContentResult Upload(Guid albumId)
{
  foreach (string file in Request.Files)
  {
    HttpPostedFileBase f = Request.Files[file] as HttpPostedFileBase;
    if (f.ContentLength == 0)
      continue;

    var uploadDir = Server.MapPath("~/uploads/"+ albumId);
    var filePath = Path.Combine(uploadDir, Path.GetFileName(hpf.FileName));
    f.SaveAs(filePath);

    // How can I trigger some async task here that would be able
    // to trigger some sort of feedback to the browser when complete?
    SomeAsyncImageProcessor.ProcessImage(albumId, filePath); …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc asynchronous asp.net-mvc-3

6
推荐指数
1
解决办法
1271
查看次数

标签 统计

asp.net ×1

asp.net-mvc ×1

asp.net-mvc-3 ×1

asynchronous ×1

comet ×1

iis ×1