关于另一个问题的这个答案的第一部分解释了现有的 MVC 站点如何能够非常快速地向其添加公开其数据的能力(例如,向请求数据的 Winforms 应用程序),所有这些都只需要几行代码(没有必须转换为 WCF/Web API 并添加额外的层 - 我们的项目非常小而且基本):
public JsonResult GetCategoryList()
{
var list = //return list
return Json(list, JsonRequestBehavior.AllowGet);
}
所以我们已经测试了上述作为一个快速和简单的解决方案,它显然非常接近工作,因为在流中我们获得了我们的 MVC 应用程序登录的 html 源代码。
事实上,如果我们添加 AllowAnonymous 注释,我们确实会得到我们所追求的 Json 流。
但是我们不想允许匿名,我们需要一些保护。已尝试添加:
Dim nc As New NetworkCredential("username", "password")
request.Credentials = nc
就在射击之前,request.GetResponse
但这不起作用(这可能完全无知,但似乎值得一试)。当我说它不起作用时,我的意思是我们回到流中获取登录页面的 html 源。
那么如何允许 winforms 应用程序在其对数据的请求中包含某种身份验证(这将起作用)?正如我所说,获取数据是有效的(由 AllowAnonymous 证明)。