首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >作为简单web服务的MVC3操作

作为简单web服务的MVC3操作
EN

Stack Overflow用户
提问于 2012-02-14 04:12:06
回答 2查看 1.7K关注 0票数 4

如何将此操作用作服务?

代码语言:javascript
复制
 public class HomeController : Controller {

     public string GetSomeValue(){
         return "This is some value";
     }
 }

如果我导航到这个URL,http://mysite.com/Home/GetSomeValue,它返回一个字符串,没有任何html或任何类型的标记。

那么,是什么阻止我使用这个方法作为一个服务,返回一些有意义的东西,比如json,我可以从任何地方调用它?

如果这是可能的,我将如何做到这一点(例如,从另一个asp.net网站的代码背后)?

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-14 04:13:32

这样做100%没有错。

一个样例应用程序-- NerdDinner --做同样的事情来does加载晚餐。

请参见控制器的http://nerddinner.codeplex.com/SourceControl/changeset/view/70027#874260和javascript文件的http://nerddinner.codeplex.com/SourceControl/changeset/view/70027#874293 (查找NerdDinner.FindMostPopularDinners )

例如:

C#

代码语言:javascript
复制
    // AJAX: /Search/GetMostPopularDinners
    // AJAX: /Search/GetMostPopularDinners?limit=5

    [HttpPost]
    public ActionResult GetMostPopularDinners(int? limit)
    {
        var dinners = dinnerRepository.FindUpcomingDinners();

        // Default the limit to 40, if not supplied.
        if (!limit.HasValue)
            limit = 40;

        var mostPopularDinners = from dinner in dinners
                                 orderby dinner.RSVPs.Count descending
                                 select dinner;

        var jsonDinners =
            mostPopularDinners.Take(limit.Value).AsEnumerable()
            .Select(item => JsonDinnerFromDinner(item));

        return Json(jsonDinners.ToList());
    } 

JS

代码语言:javascript
复制
NerdDinner.FindMostPopularDinners = function (limit) {
    $.post("/Search/GetMostPopularDinners", { "limit": limit }, NerdDinner._renderDinners, "json");
}
票数 4
EN

Stack Overflow用户

发布于 2012-02-14 04:14:48

这本质上是一个RESTful服务:

http://www.ibm.com/developerworks/webservices/library/ws-restful/

你需要做的就是构造一个http请求来使用这个服务,你可以使用Hammock来构造这样的请求:

https://github.com/danielcrenna/hammock

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

https://stackoverflow.com/questions/9267333

复制
相关文章

相似问题

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