Asp.NETMVC与Web服务

Asp.NETMVC与Web服务,asp.net,asp.net-mvc,web-services,Asp.net,Asp.net Mvc,Web Services,我有一个现有的Asp.NETMVC网站,我也想提供一个来自同一个域的Web服务 在此场景中创建web服务的最佳方法是什么 我是要添加到此项目还是…?您应该能够将WebService文件直接添加到MVC项目中。 右键单击解决方案并选择AddNewItem,然后选择web类别,并在列表底部显示web服务 只需记住检查路由不会占用对Web服务的调用 通过这种方式,web服务可以访问与MVC应用程序相同的模型类。您可以像在常规ASP.NET web应用程序中一样向项目添加web服务,但是,MVC基本上是

我有一个现有的Asp.NETMVC网站,我也想提供一个来自同一个域的Web服务

在此场景中创建web服务的最佳方法是什么


我是要添加到此项目还是…?

您应该能够将WebService文件直接添加到MVC项目中。 右键单击解决方案并选择AddNewItem,然后选择web类别,并在列表底部显示web服务

只需记住检查路由不会占用对Web服务的调用


通过这种方式,web服务可以访问与MVC应用程序相同的模型类。

您可以像在常规ASP.NET web应用程序中一样向项目添加web服务,但是,MVC基本上是一个web服务。您可以创建一个控制器来处理希望web服务处理的所有请求

随着MVC的出现,应用程序通常只加载一次视图,然后在应用程序的整个剩余生命周期中使用AJAX和客户端脚本。您的AJAX调用只需为它们的商品找到操作方法,然后使用美味的JSON来解析数据并加以利用


在我看来,将web服务设计为控制器而不是使用[WebMethods]更简单、更有趣

首先,问题是我们所说的web服务是什么意思?这可能意味着任何事情,从使用XML、JSON或其他约定格式响应的MVC页面到全面的SOAP和WS-*困扰的噩梦

不管怎么说,也许最好的开始是-这些与MVC配合得很好,包括路由


酷酷的孩子们正在使用

您可以只从一个MCV控制器操作返回一个JsonResult,它可能是您所需要的,而不必包含其他项目/代码/依赖项?是的,如上所述。从控制器返回Json/Xml/Html。序列化内置于MVC框架中。当然,如果您想要高级安全性/授权、端点灵活性,您可能需要WCF。但对于基本的web服务,MVC是可以的。@RPM1984-如何实现此服务的身份验证?在每个请求中发送用户名和密码?@Nicholas Murray-你说的是MVC还是WCF?我以前不需要授权MVC调用,但是如果你用[authorize]修饰控制器,表单Auth cookie就会被检查。但问题可能是,您无法像常规WS一样从ajax调用重定向到登录页面。您可能需要为WS-calls创建一个包装器,在其中检查auth。若他们被授权,调用所需的WS,若他们并没有,重定向到登录页面。好问题。另外,这是一个内部/外部web服务吗?Ie这是供客户端代码使用,还是通过HTTP向外部客户端公开?