Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 缓存不可用。net中使用web方法时出错 [WebMethod(EnableSession=true)] 公共静态void ProcessIT(字符串id) { string result=id;//“欢迎先生”+name+。您的地址是“+address+”; string[]idsplit=result.Split(“”); 字符串Quesid=idsplit[1]; Admin_NewPractice1 a=新Admin_NewPractice1(); a、 getid(Quesid); //返回结果; } 公共void getid(字符串Quesid) { 尝试 { //ds2.表。添加(dt); 数据集ds2=新数据集(); ds2=(数据集)缓存[“mytable”];//出现此行错误 int m=转换为32(Quesid); if(m_C#_Asp.net_Asmx - Fatal编程技术网

C# 缓存不可用。net中使用web方法时出错 [WebMethod(EnableSession=true)] 公共静态void ProcessIT(字符串id) { string result=id;//“欢迎先生”+name+。您的地址是“+address+”; string[]idsplit=result.Split(“”); 字符串Quesid=idsplit[1]; Admin_NewPractice1 a=新Admin_NewPractice1(); a、 getid(Quesid); //返回结果; } 公共void getid(字符串Quesid) { 尝试 { //ds2.表。添加(dt); 数据集ds2=新数据集(); ds2=(数据集)缓存[“mytable”];//出现此行错误 int m=转换为32(Quesid); if(m

C# 缓存不可用。net中使用web方法时出错 [WebMethod(EnableSession=true)] 公共静态void ProcessIT(字符串id) { string result=id;//“欢迎先生”+name+。您的地址是“+address+”; string[]idsplit=result.Split(“”); 字符串Quesid=idsplit[1]; Admin_NewPractice1 a=新Admin_NewPractice1(); a、 getid(Quesid); //返回结果; } 公共void getid(字符串Quesid) { 尝试 { //ds2.表。添加(dt); 数据集ds2=新数据集(); ds2=(数据集)缓存[“mytable”];//出现此行错误 int m=转换为32(Quesid); if(m,c#,asp.net,asmx,C#,Asp.net,Asmx,我认为您以错误的方式访问缓存 请试一试 [WebMethod(EnableSession = true)] public static void ProcessIT(string id) { string result = id;// "Welcome Mr. " + name + ". Your address is '" + address + "'."; string[] idsplit = result.Split('_');

我认为您以错误的方式访问缓存

请试一试

    [WebMethod(EnableSession = true)]
    public static void ProcessIT(string id)
    {
        string result = id;// "Welcome Mr. " + name + ". Your address is '" + address + "'.";

        string[] idsplit = result.Split('_');
        string Quesid = idsplit[1];
        Admin_NewPractice1 a = new Admin_NewPractice1();
        a.getid(Quesid);


        // return result;
    }

    public void getid(string Quesid)
    {
        try
        {
            //ds2.Tables.Add(dt);
            DataSet ds2 = new DataSet();          

            ds2 = (DataSet)Cache["mytable"];  // this line error comes 

            int m = Convert.ToInt32(Quesid);
            if (m < ds2.Tables[0].Rows.Count)
                fetchCommonData(ds2.Tables[0].Rows[m]);
        }
        catch (Exception ex)
        {
            throw ex;
        }

    }
HttpContext.Current.Cache
将允许您访问范围为应用程序级别的缓存对象

附言: 很遗憾,您无法访问自定义类中的
缓存
对象

它将抛出一个错误,如

非静态字段、方法或属性需要对象引用

HttpContext.Current.Cache
现在,如果您的
类继承自
System.Web.UI.Page
,它不会生成编译时错误,而是生成运行时错误

它报告类似于“缓存不可用”

因此,解决办法之一是使用

'System.Web.Caching.Cache.Get(string)'

我不认为仅仅是标题就足以让我明白你想要什么。您能写出您的问题并指出导致错误的代码位吗?ASMX是一种遗留技术,不应用于新的开发。WCF或ASP.NET Web API应用于Web服务客户端和服务器的所有新开发。一个提示:微软已经停用了MSDN上的。另外,你应该去掉try/catch块。这只会破坏堆栈跟踪。请显示更多代码。您的类是否扩展了UI.Page?您是否尝试过
HttpContext.Current.Cache
 HttpContext.Current.Cache