You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
2.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Services;
using HomeService.DBHelper;
using HomeService.Models;
using HomeService.Utility;
using Microsoft.Practices.EnterpriseLibrary.Data;
namespace HomeService
{
/// <summary>
/// NavigationService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]
public class NavigationService : System.Web.Services.WebService
{
[WebMethod]
public static void StoreMemcached()
{
string gid = "";
string name = "";
string description = "";
string url = "";
DataTable modInquire = GetModuleName();
for (int iCount = 0; iCount < modInquire.Rows.Count; iCount++)
{
gid = modInquire.Rows[iCount]["GID"].ToString();
name = modInquire.Rows[iCount]["NAME"].ToString();
description = modInquire.Rows[iCount]["DESCRIPTION"].ToString();
url = modInquire.Rows[iCount]["MODULEURL"].ToString();
if (!CacheHelper.IsExists("/" + url))
{
CacheHelper.Set("/" + url, gid + "|" + name + "|" + description, DateTime.Now.AddHours(1));
}
else
{
CacheHelper.Replace("/" + url, gid + "|" + name + "|" + description, DateTime.Now.AddHours(1));
}
}
}
[WebMethod]
public static string DeliveryMemcached(string url)
{
string _delivery = "";
string _de = CacheHelper.Get(url) as string;
if (_de != null)
{
_delivery = _de;
}
else
{
StoreMemcached();
_delivery = CacheHelper.Get(url) as string;
}
return _delivery;
}
private static DataTable GetModuleName()
{
StringBuilder sql = new StringBuilder();
DataTable dt = new DataTable();
sql.AppendLine("select * from sys_module ");
dt = SqlHelper.ExecuteSql(sql.ToString());
return dt;
}
}
}