本文将揭示.NET 4.0中的3个新特性:图表控件、SEO支持以及ASP.NET 4可扩展的输出缓存。
本文将揭示.NET 4.0中的3个新特性:图表控件、SEO支持以及ASP.NET 4可扩展的输出缓存。
Windows服务在Visual Studio 以前的版本中叫NT服务,在VS.net启用了新的名称。用Visual C# 创建Windows服务不是一件困难的事,本文就将指导你一步一步创建一个Windows服务并使用它。这个服务在启动和停止时,向一个文本文件中写入一些文字信息。
第一步:创建服务框架
要创建一个新的 Windows 服务,可以从Visual C# 工程中选取 Windows 服务(Windows Service)选项,给工程一个新文件名,然后点击 确定。
...
- 1.通过HttpWebResponse 来获取
- public static string CheckTeamSiteUrl(string url)
- {
- string response = "";
- HttpWebResponse httpResponse = null;
- //assert: user have access to URL
- try
- {
- HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(url);
- httpRequest.Headers.Set("Pragma", "no-cache");
- // request.Headers.Set("KeepAlive", "true");
- httpRequest.CookieContainer = new CookieContainer();
- httpRequest.Referer = url;
- httpRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
- httpRequest.Credentials = System.Net.CredentialCache.DefaultCredentials;
- httpResponse = (HttpWebResponse)httpRequest.GetResponse();
- }
- catch (Exception ex)
- {
- throw new ApplicationException("HTTP 403 Access denied, URL: " + url, ex);
- }
- //if here, the URL is correct and the user has access
- try
- {
- string strEncod = httpResponse.ContentType;
- StreamReader stream;
- if (strEncod.ToLower().IndexOf("utf") != -1)
- {
- stream = new StreamReader(httpResponse.GetResponseStream(), System.Text.Encoding.UTF8);
- }
- else
- {
- stream = new StreamReader(httpResponse.GetResponseStream(), System.Text.Encoding.Default);
- }
- char[] buff = new char[4000];
- stream.ReadBlock(buff,0,4000);
- response = new string(buff);
- stream.Close();
- httpResponse.Close();
- }
- catch (Exception ex)
- {
- throw new ApplicationException("HTTP 404 Page not found, URL: " + url, ex);
- }
- return response;
- }
- 2.通过 WebResponse 来获取
- public static string getPage(String url)
- {
- WebResponse result = null;
- string resultstring = "";
- try
- {
- WebRequest req = WebRequest.Create(url);
- req.Timeout = 30000;
- result = req.GetResponse();
- Stream ReceiveStream = result.GetResponseStream();
- //read the stream into a string
- //StreamReader sr = new StreamReader(ReceiveStream, System.Text.Encoding.UTF8);
- string strEncod = result.ContentType;
- StreamReader sr;
- if (strEncod.ToLower().IndexOf("utf") != -1)
- {
- sr = new StreamReader(ReceiveStream, System.Text.Encoding.UTF8);
- }
- else
- {
- sr = new StreamReader(ReceiveStream, System.Text.Encoding.Default);
- }
- resultstring = sr.ReadToEnd();
- js.alert(resultstring);
- //Console.WriteLine(resultstring);
- }
- catch
- {
- throw new Exception();
- }
- finally
- {
- if (result != null)
- {
- result.Close();
- }
- }
- return resultstring;
- }
- 3.通过WebClient来获取
- public string get(int length)
- {
- try
- {
- getEncodeing();
- WebClient wb = new WebClient();
- Stream response = wb.OpenRead(url);
- StreamReader reader = new StreamReader(response, this.encoding, true, 256000);
- char[] a = new char[length];
- int i = reader.Read(a,0,length);
- reader.Close();
- return new string(a);
- }
- catch (Exception e)
- {
- return e.Message;
- //return null;
- }
- }
- private void getEncodeing()
- {
- switch (this.encode)
- {
- case "UTF-8": encoding = Encoding.UTF8; break;
- case "GB2312": encoding = Encoding.GetEncoding("GB2312"); break;
- case "ASCII": encoding = Encoding.ASCII; break;
- default: encoding = Encoding.GetEncoding(encode); break;
- }
- }
<add key="MySqlString" value="server=localhost;port=3306;user id=userid;password=123456;database=dbname;CharSet=utf8;Allow Zero Datetime=true"/>
今天在项目中一个页面使用 System.Web.UI.ScriptManager.RegisterStartupScript(this, GetType(), "js", "alert('OK');", true);的时候发现没用,检查发现脚本没用注册到页面, check页面发现了问题,<form method="post">
VS2010安装项目的系统必备中没有.NET 2.0,不过我们可以从VS2008的程序文件中找到 .NET 2.0 的系统必备安装包。
安装了VS2008 的 C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages 下的 DotNetFX 文件夹,就是 .NET 2.0 的系统必备安装包。把 DotNetFX 文件夹复制到安装了 VS2010 的 C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages下,然后在VS2010中就可以选择 .NET 2.0 的系统必备了。
...1.把数据绑定到CheckBoxList中
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
SqlConnection con = GetDBCon.GetCon();
con.Open();
SqlDataAdapter sda = new SqlDataAdapter("select * from admin", con);
...
接管负责了公司的一个项目网站后台管理,客服部要求会话间隔时间能长点,于是在web.config里改了outtime设置,设成了8个小时,一个工作日的时间,可是修改后居然不起作用,依旧是20分钟不操作就得重登录。于是把服务器上的IIS超时设置也改了,会话超时设置成480分钟,但是问题仍然存在(关于outtime的设置,一般web.config的优先级别高于machine.config高于IIS设置。)。仔细查看了代码,是用session保存信息而不是cookie,代码中没有有关超时的设置了。搞了半天问题才解决。
...