Internet Explorer的文件下载限制为4GB(IE6上为2 GB).Firefox没有这个问题(还没有测试过safari)(更多信息请访问:http://support.microsoft.com/kb/298618)
我正在开发一个网站,允许用户下载非常大的文件(最大和超过100GB)
不使用FTP,最好的方法是什么.最终用户必须能够使用HTTP从浏览器下载文件.我不认为Flash或Silverlight可以将文件保存到客户端,因为据我所知他们不会削减它.
我猜我们需要一个ActiveX或Java applet来解决这个问题.类似于MSDN使用的下载管理器.
有没有人知道这样做的商业(或免费)组件?我们不希望用户必须安装"浏览器范围"的下载管理器(如GetRight),我们希望它只能在我们的网站上下载.
更新:这里有一些额外的信息,以帮助澄清我正在尝试做什么.大多数4GB限制以上的文件都是大型高清视频文件(适用于视频编辑公司).这些将由用户通过互联网下载,这不会是本地网络上的人.我们希望文件可以通过HTTP获得(一些用户将会在防火墙之后,不允许使用FTP,Bittorrent等).这将是最终用户可以下载的文件库,因此我们不是在谈论一次性的大型下载.将定期下载不同的大型文件.
到目前为止,@ Edmund-Tay建议的Vault是迄今为止最接近的解决方案.唯一的问题是它不适用于大于4GB的文件(它在开始下载之前立即失败,它们可能在文件内容长度超过的某处使用32位整数).
一个java applet(或者因为问题只存在于IE中的ActiveX组件)就像@spoulson链接的文章一样,是最好的解决方案,但到目前为止,我还没有找到任何可以做到这一点的运气(多部分下载) ,简历等).
看起来我们可能要写自己的.另一种选择是编写与扩展或mime类型相关联的.Net应用程序(可能是ClickOnce).然后,用户实际上将从exe/ClickOnce应用程序中打开的Web服务器下载一个小文件,该应用程序告诉应用程序要下载哪个文件.这就是MSDN下载器的工作原理.然后,最终用户只需下载/安装一次EXE.这比每次下载大文件时下载exe都要好.
我正在尝试使用Entity Framework 4,POCO和Code-Only设置项目.
在实体框架中导航属性的类型是否可以作为接口?
我有一个"任务"课程.可以将任务分配给用户或组,每个用户或组由单独的类表示并存储在单独的表中.这些类看起来像这样:
public class User : IAssignable
{
public string Name { get; set; }
public int ID { get; set; }
public string Email { get; set; }
public string Password { get; set; }
}
public class Group : IAssignable
{
public string Name { get; set; }
public int ID { get; set; }
public string Manager { get; set; }
public string Department { get; set; }
}
public class Task
{
public …Run Code Online (Sandbox Code Playgroud) 我正在寻找将大型项目迁移到Entity Framework 4.0,但我不确定它是否可以处理我的继承方案.
我有几个项目继承自"main"项目中的对象.这是一个示例基类:
namespace People
{
public class Person
{
public int age { get; set; }
public String firstName { get; set; }
public String lastName { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
和其中一个子类:
namespace People.LawEnforcement
{
public class PoliceOfficer : People.Person
{
public string badgeNumber { get; set; }
public string precinct { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
这就是项目布局的样子:
People - People.Education - People.LawEnforcement http://img51.imageshack.us/img51/7293/efdemo.png
该应用程序的一些客户将使用People.LawEnforcement中的类,其他用户将使用People.Education,有些将使用两者.我只发运用户需要的组件.因此,Assembles有点像插件,因为它们为核心应用程序添加了功能.
反过来,实体框架是否支持这种情况?
基于这个问题,我认为这样的事情可能有用:
ctx.MetadataWorkspace.LoadFromAssembly(typeof(PoliceOfficer).Assembly);
Run Code Online (Sandbox Code Playgroud)
但即使它有效,它接缝也好像我的EDMX文件需要知道所有项目.我宁愿每个项目都包含该项目中类的元数据,但我不确定这是否可行.
如果实体框架无法做到这一点,那还有另一种解决方案(NHibernate,Active Record等)吗?
c# ×2
.net ×1
browser ×1
code-first ×1
flash ×1
java ×1
large-files ×1
nhibernate ×1
silverlight ×1