我有一个ASP.NET页面,用户可以在我们的服务器上触发控制台应用程序,生成一个文件。我想要的是用户看到一条消息,指出“请求文件”,然后一旦文件可用(即文件的File.Exists
返回true),请求文件消息将变为链接文件。
在ASP.NET中这很容易实现吗?
答案 0 :(得分:2)
在您的网页中实现对某个WebMethod的JSON调用,该WebMethod检查是否已生成该文件。
您可以在调用函数中添加消息并在完整事件中清除它,您也可以在其中创建指向该文件的链接
function ddlLeaveChanged(sender, e) {
if (leaveTypeId != '-1' && dateFrom != '' && leaveStatusId != '-1') {
$('#lblMessage').show();
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
url: WebServiceUrl + 'YourMethod',
success: FunctionSuccedded,
error: FunctionFailed
});
}
function FunctionsSuccedded(result, e) {
if (result) { $('#lblMessage').hide(); }
}
答案 1 :(得分:1)
这可以通过以下方式实现:
setInterval
[jquery.Ajax][2]
可以每x
秒(使用setInterval
)触发javascript函数,以使用AJAX触发Web方法来检查文件是否存在。
检查我上面提供的链接。这些应该是你需要的所有工作。
答案 2 :(得分:1)
如果你想要一起避免文件系统,你也可以关闭数据库字段,即当点击链接时,会将某个条目放入某种表示文件创建待定的数据库表中,然后定期检查是否状态已更新。服务器端代码将更新相同的密钥并在数据存储区中也有一个URL,因此您只需检查创建的文件的状态和数据存储区的链接。这也会导致您拥有文件创建历史记录,您可以根据需要进行清除,因此从ASP.NET角度来看,您只需依靠数据访问代码来确定您的文件是否已创建。
答案 3 :(得分:0)
ASP.NET与任何其他平台没有太大区别。你可以这样做: