Member 11466758 Ответов: 1

Выходной параметр JSON api с кодом состояния http в ASP.NET с#


Я занимаюсь разработкой веб-API в формате JSON с использованием asp.net на C#. Я хочу, чтобы код состояния HTTP, имеющие выходные параметры, в ответ субстанций .как я могу добиться этого.

Что я уже пробовал:

[WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public void GetUserLogin(string Contract, string username
        {
            Authentication obj = new Authentication();
            String jSonString = "";
            System.Web.Script.Serialization.JavaScriptSerializer serializer =
             new System.Web.Script.Serialization.JavaScriptSerializer();
            SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["conststring"]);
            SqlCommand command = new SqlCommand();
            try
            {
                    DataSet ds = new DataSet();
                    ds = obj.CheckContract(Contract);

                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
                    {
                        DataSet dscustomer = new DataSet();
                        dscustomer = obj.CheckCustomer(ds.Tables[0].Rows[0]["Customer"].ToString(), username

                        if (dscustomer.Tables[0] != null && dscustomer.Tables[0].Rows.Count > 0)
                        {
                         
                        string success = "";
                        success = "{\"Customer\": \" " + ds.Tables[0].Rows[0]["Customer"].ToString() + " \"}";
                        this.Context.Response.ContentType = "application/json; charset=utf-8";
                        this.Context.Response.Write(success);
                        
                        }
                        else
                        {
                            string success = "";
                            success = "{\"status\": \"Invalid Login Details.\"}";
                            this.Context.Response.ContentType = "application/json; charset=utf-8";
                            this.Context.Response.Write(success);
                        }

                    }
                    else
                    {
                        string success = "";
                        success = "{\"status\": \"Invalid Login Details.\"}";
                        this.Context.Response.ContentType = "application/json; charset=utf-8";
                        this.Context.Response.Write(success);
                    }
                
               
            }

            catch (Exception er)
            {
                string success = "";
                success = "{\"status\": \"" + er.Message + "\"}";
                this.Context.Response.ContentType = "application/json; charset=utf-8";
                this.Context.Response.Write(success);

            }
            finally
            {
                command.Dispose();
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                    conn.Dispose();
                }
            }
        }

1 Ответов

Рейтинг:
1

F-ES Sitecore

Я погуглил "атрибутом webmethod asp.net установить код состояния" для вас и вот некоторые результаты

asp.net - могу ли я установить код ответа HTTP и вызвать исключение для службы ASMX JSON? - переполнение стека[^]

c# - Asp.Net веб-служба: я хотел бы вернуть ошибку 403 forbidden-Stack Overflow[^]

Вы легко могли бы сделать это сами, пожалуйста, проведите фундаментальное исследование, прежде чем задавать вопрос.