Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.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# webservice中不返回任何内容的Webmethod_C#_Web Services - Fatal编程技术网

C# webservice中不返回任何内容的Webmethod

C# webservice中不返回任何内容的Webmethod,c#,web-services,C#,Web Services,我不熟悉webservice,我在下面尝试的是在方法中传递变量,并从类中的不同表中从sql中获取数据…但对于一些运行此代码的人,我看不到我的webmethod…非常感谢任何帮助…越快越好,因为我陷入困境,明天必须交付一些内容 namespace Webdata { public class Data : System.Web.Services.WebService { class Record { public Char DESCRPTN_104 { ge

我不熟悉webservice,我在下面尝试的是在方法中传递变量,并从类中的不同表中从sql中获取数据…但对于一些运行此代码的人,我看不到我的webmethod…非常感谢任何帮助…越快越好,因为我陷入困境,明天必须交付一些内容

namespace Webdata


{ 
public class Data : System.Web.Services.WebService
{

    class Record
    {
        public Char DESCRPTN_104 { get; set; }
        public Char PMDES_01 { get; set; }
        public Char PRTNUM_10 { get; set; }
        public Char ORDRef_10 { get; set; }
        public DateTime TNXDTE_01 { get; set; }


    [WebMethod]
   static List<Record> GetData(string ORDNUM_10)
    {
        SqlConnection con = new SqlConnection(@"Data Source=****;Initial Catalog=******;Integrated Security=true;");
        con.Open();
        SqlCommand cmd = new SqlCommand("SELECT DISTINCT Account_Types.DESCRPTN_104, Part_Master.PMDES1_01,Order_Master.PRTNUM_10,Order_Master.ORDNUM_10,Order_Master.ORDRef_10,Part_Master.TNXDTE_01 FROM (****.dbo.Order_Master Order_Master LEFT OUTER JOIN ****.dbo.Part_Master Part_Master ON Order_Master.PRTNUM_10=Part_Master.PRTNUM_01) LEFT OUTER JOIN ****.dbo.Account_Types Account_Types ON Part_Master.ACTTYP_01=Account_Types.ACTTYP_104 WHERE Order_Master.ORDNUM_10 = '" + ORDNUM_10 + "'", con);
        SqlDataReader dr = cmd.ExecuteReader();

        List<Record> records = new List<Record>();

        while (dr.Read())
        {
            records.Add(new Record()
            {
                DESCRPTN_104 = dr.GetChar(0),
                PMDES_01 = dr.GetChar(1),
                PRTNUM_10 = dr.GetChar(2),
                ORDRef_10 = dr.GetChar(3),
                TNXDTE_01 = dr.GetDateTime(4)
            });
        }

        dr.Close();
        con.Close();
        return records;
    }}
}
}
命名空间Webdata
{ 
公共类数据:System.Web.Services.WebService
{
课堂记录
{
公共字符DESCRPTN_104{get;set;}
公共字符PMDES_01{get;set;}
公共字符PRTNUM_10{get;set;}
公共字符ORDRef_10{get;set;}
公共日期时间TNXDTE_01{get;set;}
[网络方法]
静态列表GetData(字符串ORDNUM_10)
{
SqlConnection con=newsqlconnection(@“数据源=***;初始目录=****;集成安全性=true;”);
con.Open();
SqlCommand cmd=new SqlCommand(“从(****.dbo.Order\u Master\u左外联接******.dbo.Part\u Master\u Master.PRTNUM\u 10,Order\u Master.ORDRef\u 10,Part\u Master.TNXDTE\u 01)中选择不同的帐户类型。DESCRPTN\u 104,Part\u Master.PMDES1\u 01,Order\u Master.PRTNUM\u 10,Order\u Master\u Master.PRTNUM\u 01)左外联接****.dbo.Account\u Types零件上的Account\u Types\u Master.ACTTYP\u 01=Account\u Types.ACTTYP\u 104,其中Order\u Master.ORDNUM\u 10='“+ORDNUM\u 10+”,con);
SqlDataReader dr=cmd.ExecuteReader();
列表记录=新列表();
while(dr.Read())
{
记录。添加(新记录()
{
DESCRPTN_104=dr.GetChar(0),
PMDES_01=dr.GetChar(1),
PRTNUM_10=dr.GetChar(2),
ORDRef_10=dr.GetChar(3),
TNXDTE_01=dr.GetDateTime(4)
});
}
Close博士();
con.Close();
退货记录;
}}
}
}

如果“运行你的代码”,你的意思是查询服务实现了什么操作,如果“不返回任何内容”,你的意思是服务声称它没有任何内容,而你发布的代码正是你试图编译的代码,那么我猜你看不到你的WebMethod,因为你没有为你的方法指定可访问性级别,默认值为private。WebMethods都应该是公共的

我按照您的建议将webmethod更改为Public…但现在在webmethod中获取GetData方法错误..这表示…错误1可访问性不一致:返回类型“System.Collections.Generic.List”的可访问性不如方法“WebService3.Service1.GetData(string)'C:\Sharepoint Stuff\MRR\U InfopathForm\WebService3\WebService3\Service1.asmx.cs 62 35WebService3@user2344306如果你遇到错误,你应该做的第一件事就是用谷歌搜索它。该错误表示您试图返回您定义的类Webservice3.Service1.Record的对象列表,并且该类未标记为public。如果你想从一个公共函数返回某个东西,那么被返回的东西也必须是公共的,或者你会如何使用它?@user2344306对于一个急于得到答案的人来说,你似乎并不急于通过接受它来说明答案是否有效:p。(甚至说它现在是否工作…)