مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

mohsen_metn

عضویت از 1394/06/28

مشکل با web api

  • چهارشنبه 20 تیر 1397
  • 15:55
تشکر میکنم

سلام من یک web api ساختم که در یکی از کنترلر ها دو متد زیر رو دارمگ

[HttpGet]
        public List<ComboBox> FillCombobox(string userid,string s)
        {
            OracleConnection conn = new OracleConnection();
            conn.ConnectionString = "Data Source=orcl;User ID=omran;password=omran";
            conn.Open();

            OracleCommand cmd = new OracleCommand();
            cmd.Connection = conn;
            cmd.CommandText = "select * from tabl0 t where t.l0code<7 and substr(t.l0code,0,1) in (select substr(tt.nservicecode,0,1) from tabuseraccess tt where tt.nuser_id=" + userid + ") order by 2";
            if ((s == "1")) 
            {
                cmd.CommandText = "select * from tabl0 t where 1=1 order by 2";
            }

            DataTable dt = new DataTable();
            OracleDataAdapter oda = new OracleDataAdapter(cmd);
            oda.Fill(dt);
            int ind = 0;
            
            for (int i = 0; i <= dt.Rows.Count - 1; i++)
            {
                ComboBox cb = new ComboBox();
                cb.L0CODE=dt.Rows[i][0].ToString();
                cb.L0NAME=dt.Rows[i][1].ToString();
                cb.LBLKEYWORD1=dt.Rows[i][2].ToString();
                cb.LBLKEYWORD2=dt.Rows[i][3].ToString();
                cb.LBLKEYWORD3=dt.Rows[i][4].ToString();
                cb.LBLKEYWORD4=dt.Rows[i][5].ToString();
                cb.LBLKEYWORD5=dt.Rows[i][6].ToString();
                cb.LBLKEYWORD6=dt.Rows[i][7].ToString();
                cb.LBLKEYWORD7=dt.Rows[i][8].ToString();
                cb.LBLKEYWORD8=dt.Rows[i][9].ToString();
                cb.LBLKEYWORD9=dt.Rows[i][10].ToString();
                cb.LBLKEYWORD10=dt.Rows[i][11].ToString();
                cb.LBLKEYWORD11=dt.Rows[i][12].ToString();
                cb.LBLKEYWORD12=dt.Rows[i][13].ToString();
                cb.LBLKEYWORD13=dt.Rows[i][14].ToString();
                cb.LBLKEYWORD14=dt.Rows[i][15].ToString();
                cb.LBLKEYWORD15=dt.Rows[i][16].ToString();
                cb.LBLKEYWORD16=dt.Rows[i][17].ToString();
                combobox.Add(cb);
            }
            conn.Close();
            return combobox;
        }

و متد دوم

[HttpGet]
        public List<ComboBox> FillComboboxAccess()
        {
            OracleConnection conn = new OracleConnection();
            conn.ConnectionString = "Data Source=orcl;User ID=omran;password=omran";
            conn.Open();

            OracleCommand cmd = new OracleCommand();
            cmd.Connection = conn;
            cmd.CommandText = "select * from tabl0 t where t.l0code<7  order by 2";
           

            DataTable dt = new DataTable();
            OracleDataAdapter oda = new OracleDataAdapter(cmd);
            oda.Fill(dt);
            int ind = 0;

            for (int i = 0; i <= dt.Rows.Count - 1; i++)
            {
                ComboBox cb = new ComboBox();
                cb.L0CODE = dt.Rows[i][0].ToString();
                cb.L0NAME = dt.Rows[i][1].ToString();

                comboboxx.Add(cb);
            }
            conn.Close();
            return comboboxx;
        }

اسم کنترلر api من Utility هستش حالا وقتی یکی از متد ها رو فراخونی می کنم با استفاده از لینک :

http://localhost:22287/api/Utility/FillComboboxAccess

خطای زیر رو بهم میده لطفا کمک کنید

{"Message":"An error has occurred.","ExceptionMessage":"Multiple actions were found that match the request: \r\nSystem.Collections.Generic.List`1[OmranWebApi3.Models.ComboBox] FillComboboxAccess() on type OmranWebApi3.Controllers.UtilityController\r\nSystem.Collections.Generic.List`1[OmranWebApi3.Models.DocTypes] GetFehrest() on type OmranWebApi3.Controllers.UtilityController","ExceptionType":"System.InvalidOperationException","StackTrace":"   at System.Web.Http.Controllers.ApiControllerActionSelector.ActionSelectorCacheItem.SelectAction(HttpControllerContext controllerContext)\r\n   at System.Web.Http.Controllers.ApiControllerActionSelector.SelectAction(HttpControllerContext controllerContext)\r\n   at System.Web.Http.ApiController.ExecuteAsync(HttpControllerContext controllerContext, CancellationToken cancellationToken)\r\n   at System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsyncInternal(HttpRequestMessage request, CancellationToken cancellationToken)\r\n   at System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)"}

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 20 تیر 1397
  • 16:07

شما نمیدونید دو اکشن هم نام داشته باشید در حالت get

نام یکیشون رو عوض کنید 

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)