加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-4 – 将upshot绑定到不同项目中的Web API

发布时间:2020-12-16 06:24:17 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试创建一个SPA应用程序,以利用结果及其功能.但是,公开数据的服务(即Web API)位于一个完全独立的项目中,已经托管在IIS上.我想将upshot绑定到现有的API,但是从我在upshot的 HTML帮助器(v1.0.0.1)中可以看到,你需要传入暴露数据的控制器的类型,如下所示
我正在尝试创建一个SPA应用程序,以利用结果及其功能.但是,公开数据的服务(即Web API)位于一个完全独立的项目中,已经托管在IIS上.我想将upshot绑定到现有的API,但是从我在upshot的 HTML帮助器(v1.0.0.1)中可以看到,你需要传入暴露数据的控制器的类型,如下所示:

?Html.UpshotContext.DataSource(OfDoDoController)(Function(x)x.GetTodoItems())

其中ToDoController是公开在同一项目中定义的数据的ApiController.

我的问题是,如何将upshot绑定到不在同一项目中的Web API?
有什么方法可以使用帮助器,还是我必须手动完成所有操作?

我可以访问Model类(即TodoItem),因为它们位于一个单独的程序集中,可以从两个项目(SPA和Web API)中引用,但我无法访问Web API中定义的控制器项目.

解决方法

您可以使用以下内容:

upshot.dataSources = upshot.dataSources || {};

upshot.metadata({"ModelType:#Namespace":
    {
     "key":["Id"],"fields":    
        {"Id":{"type":"Int32:#System"},"IpAddress":{"type":"String:#System"},"Name":{"type":"String:#System"}
        }
    } (and so on,just map everything)
});

var dataSource = new upshot.RemoteDataSource({
    providerParameters: 
        { url: "Your URL",operationName: "Method Name,example: GetCustomers" },entityType: "ModelType:#Namespace",bufferChanges: true (or false,whatever you like),dataContext: undefined,mapping: {}
});

如果我是你,如果我可以暂时创建一个包含Controller项目的解决方案,那么我会检查由UpshotContext帮助器生成的JS并将其复制到您的页面中(这就是我在上面得到的结果,无论如何).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读