سلام من یک 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)"}
شما نمیدونید دو اکشن هم نام داشته باشید در حالت get
نام یکیشون رو عوض کنید
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)