首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Web Api或Web服务

Web Api或Web服务
EN

Stack Overflow用户
提问于 2015-08-12 14:18:41
回答 2查看 664关注 0票数 2

我读了很多关于Web Api的文章。例如,我知道Web是一种Web,或者Web更灵活。

但我没有明白: Web是Web服务的未来吗?

例如,我们的一个客户端需要我们的主数据库中的数据。通常,我使用一个Web服务来实现这个简单的目的,但这次我创建了一个Web项目。我得到和服务数据,再加上我知道它是如何与实体或身份等一起工作的,但它并不是一个简单的web服务。我认为我们的客户也会因为身份问题而思考同样的事情。那么,为什么我应该选择Web与,或者在这种简单的情况下我应该更喜欢Web呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-21 16:15:50

这取决于您所说的'web服务‘是什么意思,但现在我假设您指的是旧的.net SOAP服务。

如果您今天(2015年9月)正在构建一些新的东西,那么使用asp.net web几乎肯定会更好。这是一个标准的REST风格的服务,几乎任何启用HTTP的客户端都可以调用它,不需要本地软件,也不需要了解服务的工作原理,这就是REST体系结构风格的全部要点。我在这里写了一些关于web和REST的文章:http://blogs.msdn.com/b/martinkearn/archive/2015/01/05/introduction-to-rest-and-net-web-api.aspx

在使用实体框架向数据库添加CRUD操作的简单服务中。这可以很容易地通过Web实现。实际上,你可以根据一个简单的模型搭建整个过程。

为了回答您的具体问题,是的,我相信至少在eth asp.net世界中,web是web服务的未来。事实上,现在web服务已经被放弃,转而使用web。

Web支持.net身份模型(我在这里写了博客:http://blogs.msdn.com/b/martinkearn/archive/2015/03/25/securing-and-working-securely-with-web-api.aspx)和实体框架。

希望这有帮助,如果它确实,请标记为一个答案或让我知道任何更多的细节,你需要。

票数 1
EN

Stack Overflow用户

发布于 2019-06-08 10:53:45

代码语言:javascript
运行
复制
 public class Service1 : System.Web.Services.WebService
    {

        private List<string> GetLines(string filename) {

            List<string> lines = new List<string>();

            //filename: ime fajla (valute.txt) SA EXT
            using (StreamReader sr = new StreamReader(Server.MapPath("podaci/" + filename))) {
                string line;
                while ((line = sr.ReadLine()) != null) {
                    lines.Add(line);
                }
            }

            return lines;

        }

        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }

        [WebMethod]
        public double ProcitajKursNaDan(DateTime datum, string valuta) {
            List<string> podaci = GetLines("valute.txt");

            double kurs = 0.0;

            // Pronalazenje upisa
            for (int i = 0; i < podaci.Count; i++) {
                string[] linija = podaci[i].Split('|');
                /* Датум[0] | Oznaka valute[1] | Kurs[2] */
                string dat = linija[0];
                string val = linija[1];
                string vrednost = linija[2];

                // Uklanjanje viska
                dat = dat.Trim(); 
                val = val.Trim(); 
                vrednost = vrednost.Trim();

                // Konverzija:
                DateTime datIzFajla = DateTime.ParseExact(dat, "d/M/yyyy", null);

                double kursIzFajla = Convert.ToDouble(vrednost);


                if (DateTime.Compare(datIzFajla, datum) == 0 && val == valuta)
                    kurs = kursIzFajla;
            }


            return kurs;
        }

        [WebMethod]
        public bool UpisiKursNaDan(DateTime datum, string valuta, double Kurs) {
            string date = datum.ToString("d/M/yyyy");
            string linijaZaUpis = date + " | " + valuta + " | " + Kurs.ToString();

            bool success = false;

            try
            {
                StreamWriter sw = new StreamWriter(Server.MapPath("podaci/valute.txt"), true);
                sw.WriteLine(linijaZaUpis);
                sw.Close();

                success = true;
            }
            catch {
                success = false;
            }
            return success;
        }

        [WebMethod]
        public List<string> ProcitajSveValute() {
            List<string> linije = GetLines("valute.txt");

            List<string> ValuteIzFajla = new List<string>();

            for (int i = 0; i < linije.Count; i++) {
                string linija = linije[i];
                string valuta = linija.Split('|')[1];
                valuta = valuta.Trim();
                ValuteIzFajla.Add(valuta);
            }

            List<string> ValuteKraj = ValuteIzFajla.Distinct().ToList();
            return ValuteKraj;
        }
    }
}
//using A10App.localhost;

//namespace A10App
//{
//    public partial class pregledkursa : System.Web.UI.Page
//    {
//        protected void Page_Load(object sender, EventArgs e)
//        {
//            if (!this.IsPostBack) { 
//                Service1 servis = new Service1();
//                List<string> valute = servis.ProcitajSveValute().ToList();
//                for (int i = 0; i < valute.Count; i++)
//                    DropDownList1.Items.Add(valute[i]);
//            }
//        }

//        protected void Button1_Click(object sender, EventArgs e)
//        {
//            string datum = TextBox1.Text;
//            string valuta = DropDownList1.Text;

//            Service1 servis = new Service1();

//            double kurs = servis.ProcitajKursNaDan(DateTime.ParseExact(datum, "d/M/yyyy", null), valuta);

//            if (kurs != 0.0)
//                Label2.Text = kurs.ToString();
//            else
//                Label2.Text = "Nije pronadjen kurs";

//        }
//    }
//}
//namespace A10App
//{
//    public partial class azuriranjeliste : System.Web.UI.Page
//    {
//        protected void Page_Load(object sender, EventArgs e)
//        {
//            if (!this.IsPostBack)
//            {
//                Service1 servis = new Service1();
//                List<string> valute = servis.ProcitajSveValute().ToList();
//                for (int i = 0; i < valute.Count; i++)
//                    DropDownList1.Items.Add(valute[i]);
//            }
//        }

//        protected void Button1_Click(object sender, EventArgs e)
//        {
//            string datum = TextBox1.Text;
//            string valuta = DropDownList1.Text;
//            string kurs = TextBox2.Text;

//            Service1 servis = new Service1();

//            servis.UpisiKursNaDan(DateTime.ParseExact(datum, "d/M/yyyy", null), valuta, Convert.ToDouble(kurs));

//        }
//    }
//}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31967882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档