Skip to main content
 首页 » 编程设计

c#之如何从 webforms 应用程序中使用 web API 服务

2024年05月29日52think

我在一个包含多个项目的大解决方案文件夹中有一个 webforms 应用程序。我想使用一个 web api 应用程序,它也是解决方案的一部分。所以我的客户看起来如下。

function GetText()  
{ 
    $.getJSON("api/SiteUsers", 
        function (data) { 
            $("#TestText").append(data); 
 
        }); 
} 

Controller 是一个简单的字符串返回操作。

[HttpGet] 
public string TestText() 
{ 
    return "this is a text"; 
} 

当我尝试调用该服务时出现 404 错误,无法找到以下链接 http://localhost:1234/MyAspxProj/MyFolder/MyPage/api/SiteUsers

我能理解这可能是因为它试图从 webforms 应用程序中查找资源。如何调用 web api 服务?我乐于接受所有建议和建议。

请您参考如下方法:

假设您的 API 托管在 localhost:1111 上,而您的 webforms 应用程序托管在 localhost:2222 上

首先确保您可以获得刚刚创建的 API 的结果,方法是:

localhost:1111/api/SiteUsers

一旦您确定上述 URL 返回您所期望的内容,您就可以确定您的 API 设置正确。

现在让我们来看下一个问题,从另一个应用程序访问 API(即与 API 不具有相同的主机,即 localhost2222)

要从另一个域上的应用程序访问 API,您需要在 WebAPI 上启用 CORS 支持。互联网上有许多资源可以向您解释如何实现这一目标:google for enabling cors in web api 2

在您的 Web API 项目上设置 CORS 后,您将能够从任何应用程序访问您的 API。

请记住:如果客户端位于不同的域并且客户端是基于 Web 的客户端(在您的情况下是 Web 表单应用程序),您只需要启用 CORS

我希望这能给你一些指导。