重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在asp.net中应用静态变量要比application更好的选择
创新互联建站从2013年创立,先为麟游等服务建站,麟游等地企业,进行企业商务咨询服务。为麟游企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
在传统的asp页面中,我们需要利用application变量传递一些特殊变量,在asp.net中任何页面都可以是类,,Global.asax也不例外。
我们只需要在Global.asax加入类名。
%@ Application Classname="MyGlobals" %
然后我们定义几个静态变量。
在vb.net中应用shared
在C#中应用static
VB:
Script language="vb" runat="server"
Public Shared sGreeting as String = "welcome"
/Script
C#
Script language="C#" runat="server"
Public Static String sGreeting = "welcome"
/Script
现在我们在其他的asp.net叶面就可以应用类名.变量名就可以在引用他了。
x = MyGlobals.sGreeti
下载,直接通过url读取文件,然后Response.OutputStream.Write()数据
下面提供个下载的静态方法,是C#的,供参考:
/// summary
/// 下载文件
/// /summary
/// param name="fileName"下载的文件名称(包括扩展名)/param
/// param name="filePath"下载文件的绝对路径/param
public static void DownFile(string fileName, string filePath)
{
//打开要下载的文件,并把该文件存放在FileStream中
System.IO.FileStream Reader = System.IO.File.OpenRead(filePath);
//文件传送的剩余字节数:初始值为文件的总大小
long Length = Reader.Length;
HttpContext.Current.Response.Buffer = false;
HttpContext.Current.Response.AddHeader("Connection", "Keep-Alive");
HttpContext.Current.Response.ContentType = "application/octet-stream";
HttpContext.Current.Response.Charset = "utf-8";
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode(fileName));
HttpContext.Current.Response.AddHeader("Content-Length", Length.ToString());
byte[] Buffer = new Byte[10000];//存放欲发送数据的缓冲区
int ByteToRead; //每次实际读取的字节数
while (Length 0)
{
//剩余字节数不为零,继续传送
if (HttpContext.Current.Response.IsClientConnected)
{
//客户端浏览器还打开着,继续传送
ByteToRead = Reader.Read(Buffer, 0, 10000); //往缓冲区读入数据
HttpContext.Current.Response.OutputStream.Write(Buffer, 0, ByteToRead);
//把缓冲区的数据写入客户端浏览器
HttpContext.Current.Response.Flush(); //立即写入客户端
Length -= ByteToRead;//剩余字节数减少 }
else
{
//客户端浏览器已经断开,阻止继续循环
Length = -1;
}
} //关闭该文件
Reader.Close();
}
QQ:121一九五五121
可以实现,类里面的字段或者方法加Shared
Public Class Form1
'下面实现静态类
Public Class test
Shared Sub New()
End Sub
Public Shared Sub run()
MsgBox("测试run")
End Sub
End Class
'下面测试
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'并没有实例化一个类哦
test.run()
End Sub
End Class