【发布时间】:2015-09-06 19:59:21
【问题描述】:
遗憾的是,因为我几乎不会 C#,所以我无法从 URL 中读取参数。
我在 IIS 7 上将 C# cgi 可执行文件作为应用程序运行。调用可执行文件的url如下:
https://server/cgi/showEmail/showEmail.exe?email=john@gmail.com
代码开头如下:
using System;
using System.Web; // <---- isn't this for Request.QueryString ?
using System.Web.UI;
using System.Collections;
using System.Collections.Specialized;
using System.Data.SqlClient;
class showEmail
{
static void Main(string[] args)
{
Console.WriteLine("\r\n\r\n");
Console.WriteLine("<h1>Test</h1>");
try
{
现在,如果我使用下面的代码,程序会编译,但在浏览器中执行时会出现 null 异常:
string email = HttpContext.Current.Request.QueryString["email"];
System.NullReferenceException:对象引用未设置为对象的实例。在 showEmail.Main(String[] args)
如果我在下面使用这段代码,乐趣已经在编译器处停止,编译器会给出“当前上下文”异常:
string email = Request.QueryString["email"];
错误 CS0103:当前上下文中不存在名称“请求”
...
我是否遗漏了可执行文件查看 url 参数所需的基本内容?
编辑:我已经浏览了 sof 和许多其他地方,但到目前为止还无法在这个问题上连接点。
【问题讨论】:
-
我和你在同一条船上——我是 C# Razor 的新手,似乎无法弄清楚 Request.QueryString 为何不起作用。我已经搜索了两个多小时,但似乎找不到所需的集合,以及可用于评估查询字符串属性的各种方法。我看到(和尝试过)的所有东西都不起作用,因为它在当前上下文中不存在。
标签: c# iis-7 cgi request.querystring