为什么请求在我的控制器中为空
本文关键字:控制器 我的 请求 为什么 | 更新日期: 2023-09-27 18:30:33
我从我的视图http://localhost/Case/Form
在我的服务控制器中通过 HttpPost 调用一个方法
我的服务控制器类:
using System.Web;
using System.Web.Mvc;
[...]
namespace ApnNephro.WebUI.Controllers
{
public class ServicesController : Controller
{
public string GetDomain()
{
string url = "";
try
{
string _url = Request.Url.AbsolutePath;
int _si = (_url.IndexOf("//"));
int _fi = (_url.Substring(_si + 2)).IndexOf("/"); // first /
url = _url.Substring(0, _fi + _si + 2);
return url.ToString();
}
catch (InvalidOperationException ioe)
{
throw new Exception(ioe.Message + " / " + ioe.StackTrace);
}
catch (Exception e)
{
throw new Exception(e.Message + " / " + e.StackTrace);
}
return url.ToString();
}
[...]
我在我的邮件助手中打电话给他.cs :
private static string domain = new ServicesController().GetDomain();
但是发生了异常,因为请求为空...
所以,我的问题是,为什么请求为空?它是否仅在当前视图控制器中分配,因此仅在我的案例控制器中分配?
您正在创建一个与请求无关的新控制器。而不是将 get 域放在控制器中,然后创建一个新域控制器,您可以通过HttpContext.Current.Request
访问当前请求。这在静态方法中也可用。