如何从 webforms 应用程序使用 web API 服务?
How to consume web API service from a webforms application?
我在一个包含多个项目的大解决方案文件夹中有一个 webforms 应用程序。我想使用一个 Web api 应用程序,它也是解决方案的一部分。所以我的客户看起来如下。
function GetText()
{
$.getJSON("api/SiteUsers",
function (data) {
$("#TestText").append(data);
});
}
并且控制器是一个简单的字符串返回操作。
[HttpGet]
public string TestText()
{
return "this is a text";
}
当我尝试调用该服务时出现 404 错误,无法找到以下 link
http://localhost:1234/MyAspxProj/MyFolder/MyPage/api/SiteUsers
我可以理解这可能是因为它试图从 webforms 应用程序中查找资源。如何调用网络 api 服务?我愿意接受所有的建议和建议。
假设您的 API 托管在 localhost:1111 上,您的网络表单应用程序托管在 localhost:2222
上
首先确保您可以获得刚刚创建的 API 的结果,方法是:
localhost:1111/api/SiteUsers
一旦您确定上面的 URL 返回了您期望的结果,您就可以确定您的 API 设置正确。
现在让我们进入下一个问题,从另一个应用程序访问 API(即与 API 没有相同的主机,即 localhost2222)
要从另一个域上的应用程序访问 APIs,您需要在 WebAPI 上启用 CORS 支持。互联网上有许多资源可以向您解释如何实现这一目标:google for enabling cors in web api 2
在您的网络 api 项目上设置 CORS 后,您将能够从任何应用程序访问您的 API。
记住:如果客户端在不同的域中并且客户端是基于 Web 的客户端(在您的情况下是 Web 表单应用程序),您只需要启用 CORS
希望这能给你一些指导。
根据您提供的信息,我认为您输入的内容不正确 url。假设您的 [HttpGet] 函数位于 "api/SiteUsers" 的文件中,您可以像这样使用 url:"api/SiteUsers/TestText"
我在一个包含多个项目的大解决方案文件夹中有一个 webforms 应用程序。我想使用一个 Web api 应用程序,它也是解决方案的一部分。所以我的客户看起来如下。
function GetText()
{
$.getJSON("api/SiteUsers",
function (data) {
$("#TestText").append(data);
});
}
并且控制器是一个简单的字符串返回操作。
[HttpGet]
public string TestText()
{
return "this is a text";
}
当我尝试调用该服务时出现 404 错误,无法找到以下 link http://localhost:1234/MyAspxProj/MyFolder/MyPage/api/SiteUsers
我可以理解这可能是因为它试图从 webforms 应用程序中查找资源。如何调用网络 api 服务?我愿意接受所有的建议和建议。
假设您的 API 托管在 localhost:1111 上,您的网络表单应用程序托管在 localhost:2222
上首先确保您可以获得刚刚创建的 API 的结果,方法是:
localhost:1111/api/SiteUsers
一旦您确定上面的 URL 返回了您期望的结果,您就可以确定您的 API 设置正确。
现在让我们进入下一个问题,从另一个应用程序访问 API(即与 API 没有相同的主机,即 localhost2222)
要从另一个域上的应用程序访问 APIs,您需要在 WebAPI 上启用 CORS 支持。互联网上有许多资源可以向您解释如何实现这一目标:google for enabling cors in web api 2
在您的网络 api 项目上设置 CORS 后,您将能够从任何应用程序访问您的 API。
记住:如果客户端在不同的域中并且客户端是基于 Web 的客户端(在您的情况下是 Web 表单应用程序),您只需要启用 CORS
希望这能给你一些指导。
根据您提供的信息,我认为您输入的内容不正确 url。假设您的 [HttpGet] 函数位于 "api/SiteUsers" 的文件中,您可以像这样使用 url:"api/SiteUsers/TestText"