首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

webservice常驻内存,该怎么解决

2013-01-27 
webservice常驻内存问题:当客户端第一次执行webservice的某个方法,会返回一个随机加密键值(string)。以后客

webservice常驻内存
问题:当客户端第一次执行webservice的某个方法,会返回一个随机加密键值(string)。以后客户端想访问webservice的其他方法,都需要这个加密键值做匹配,成功才能执行,原来是将这个加密键值放入外部XML文件,可是发现效率低,有无其他方法解决这个问题?比如常驻内存变量等?
其他效率高的方法也行,当很多人很多次访问webservice,外部XML文件效率极低,每次都需要去循环匹配。
[解决办法]
比如说这个xml文件的路径是保存在path路径中,你可以这样返回这个xml文件的内容:

private ABC 查询授权码(string path, string code)
{
    var cache = HttpRuntime.Cache;
    var result = (ABC)cache[code];
    if (result == null)
    {
        result = 查询xml文件找到对应的授权记录(code);
        cache.Insert(code, result, new CacheDependency(path));
    }
    return result;
}

这里,ABC是任何一个可以与授权号(随机加密键值)所对应的数据类型,甚至可以简单到一个string。

比如说你可以在xml文件中让每一个授权号对应一个病人的病历编号(通过这个病历编号可以进一步查询数据库来返回病历,或者这个xml里边保存的就是病历本身也可以),然后这个方法可以通过code授权号查询到此人的病历。

热点排行