我在進行此調用一個Web API方法:的Web API參數路徑過長
var url = rootWebApiUrl + '/api/services/files/' + $scope.selectedServer.Name + "/" + encodeURIComponent(fullPath) + '/';
$http.get(url) // rest of $http.get here...
因爲fullPath
變長,我上PhysicalPath財產path too long
錯誤在一個框架的方法,我們有:
if (System.Web.HttpContext.Current != null && System.Web.HttpContext.Current.Request.PhysicalPath.Length > 0)
return ApplicationConfigurationWeb;
所以我想也許我可以做這樣的事情來傳遞數據,但我似乎無法得到調用擊中右的Web API方法:
var req = {
method: 'GET',
url: rootWebApiUrl + '/api/services/files',
params: { serverName: $scope.selectedServer.Name, path: fullPath }
}
$http(req) // rest of get here...
這是一個適當的替代方法來獲取更大的數據到Web API方法嗎?如果是這樣,我的網址應該如何構建才能獲得正確的方法?如果沒有,我怎麼能通過這個path too long
問題?
這是Web API方法簽名:
[Route("api/services/files/{serverName}/{path}")]
[HttpGet]
public IEnumerable<FileDll> Files(string serverName, string path)
如果你開始亂七八糟的URL,它幾乎總是更好地發佈在身體的數據。 – DavidG
我很樂意以正確的方式做到這一點。你有一個如何去做你的建議的例子嗎?順便說一下,URL不是很大;它剛剛超過極限。 –
那麼「超過極限」是相當大的:)我會挖掘一個例子... – DavidG