小编Lan*_*sby的帖子

Net Web API - 如何在Get上传递URL作为输入参数

我试图从Angular REST调用将URL作为输入参数传递给ApiController.URL作为查询字符串(这是SharePoint中的提供商托管应用程序,我需要URL来查询SP FWIW).

这是ApiController中的方法签名:

// GET: api/ProjectSite/5
public IEnumerable<ProjectSite> Get(string id)
{
    return ProjectSite.GetAllProjectSites(id);
}
Run Code Online (Sandbox Code Playgroud)

这是我在Angular中进行调用的地方:

var spUrl = "'" + getParameterByName("SPHostUrl") + "'";

var queryUrl = "/api/ProjectSite/" + encodeURIComponent(spUrl);
return $http.get(queryUrl);
Run Code Online (Sandbox Code Playgroud)

这会生成一个如下所示的GET请求:

HTTPS://本地主机:12345/API/ProjectSite/HTTPS%3A%2F%2Fcompany.sharepoint.com%2Fsites%2Fsite_dev%2Fweb

当我这样做时,我得到'HTTP 400(错误请求)'.如果我停在Angular代码中的断点并将输入参数更改为简单字符串(例如'asdf'),则会进行REST调用,并且我会看到Api被调用.如果我不更改字符串并在Get Api方法中放置断点,则不会到达断点,表明代码在路由引擎中的某处爆炸.

我没有得到的是,虽然它的编码,我试图传递的字符串应该仍然被视为一个字符串,对吧?我也尝试将输入更改为Uri,但这似乎不起作用(并且Uri未列为支持的输入类型,无论如何).

有谁知道如何传递URL作为输入参数?

asp.net-web-api asp.net-web-api-routing

6
推荐指数
1
解决办法
7151
查看次数

以编程方式上载Azure Batch Job Application Package

我已经找到了如何通过UI上传/管理Azure批处理作业应用程序包:

https://docs.microsoft.com/en-us/azure/batch/batch-application-packages

以及如何以编程方式上载和管理资源包:

https://github.com/Azure/azure-batch-samples/tree/master/CSharp/GettingStarted/02_PoolsAndResourceFiles

但我似乎无法将2和2放在如何以编程方式管理应用程序包.在设置批处理作业时,是否有可以调用上传/管理应用程序包的API端点?

azure azure-batch

3
推荐指数
1
解决办法
1064
查看次数