‘壹’ 各位高手,做C#web时报了个这么个错误,下面是详细错误,Load方法根本就没走,何来未将对象实例化呢
错误原因告诉你了:未将对象引用设置到对象的实例。
你肯定是页面中用到了一个对象,但是这个对象没有实例化!
‘贰’ 编译器错误消息: CS0117: “System.Web.HttpPostedFile”并不包含“ContentLegth”的定义
字节[] [] _PIC =新的字节[6] [];
/ /尝试
/ /(
为(廉政档案= 0;文件“Request.Files.Count;文件+ +)
(
HttpPostedFile newfile = Request.Files [档案];
廉政imageSize = newfile.ContentLength;
_PIC [档案] =新的字节[imageSize];
廉政数= newfile.InputStream.Read(_PIC [文件],0,imageSize);
_PIC [档案] = newfile.GenerateThumbImg(_PIC [文件],630,420);
)
/ /)
‘叁’ CS0118: “System.Web.HttpRequest.Params”是“属性”,但此处被当做“方法”来使用
这是一个FxCop警告,他的意思是Request.Params是一个属性,而不是一个方法,应该用属性的方式进行调用,也就是改为Request.Params["name"]。
这个问题的来源在于C#对索引器的处理,索引器可以使用xxxx["yyyy"]的方式进行调用,也可以被当作一个次级方法使用xxxx("yyyy")的方式来进行调用。为了保护程序的可读性和编译器性能,微软建议使用索引器的方式而不是方法的方式来进行访问。
‘肆’ C# httprequest,webrequest,有什么区别
System.Web.HttpRequest是封装浏览器对服务器的请求的,主要用在ASP.NET中,其中包括浏览器请求的网址,查询字符串数据或表单数据等等
而System.Net.HttpWebRequest则是用来简化网络请求的过程,从服务器上获取文件/结果的,譬如你可以在代码中用这个类冒充浏览器(设置一个UserAgent)来发请求,处理回应
第一:他们不是父子关系。
第二:Syste.Net.HttpWebRequest 类是System.Net.WebRequest抽象类的一个子类,它是 .NET Framework 的用于访问 Internet 数据的请求/响应模型的抽象基类。使用该请求/响应模型的应用程序可以用协议不可知的方式从 Internet 请求数据。在这种方式下,应用程序处理 WebRequest 类的实例,而协议特定的子类则执行请求的具体细节。
System.Net.HttpWebRequest 类和System.Net.FileWebRequest都继承了WebRequest
1、FileWebRequest 类为使用 file:// 方案来请求本地文件的 URI 实现 WebRequest 抽象基类。
2、HttpWebRequest 类对 WebRequest 中定义的属性和方法提供支持,也对使用户能够直接与使用 HTTP 的服务器交互的附加属性和方法提供支持。
第三:System.Web.HttpRequest 类使 ASP.NET 能够读取客户端在 Web 请求期间发送的 HTTP 值。HttpRequest 类的方法和属性通过 HttpApplication、HttpContext、Page 和 UserControl 类的 Request 属性公开。
所以使用System.Web.HttpRequest类的时候其实都是利用HttpApplication、HttpContext、Page 和 UserControl 类的 Request 属性。而使用System.Net.HttpWebRequest类时是为了获得一个Uri资源。自己创建。
System.Web 命名空间提供使得可以进行浏览器与服务器通信的类和接口。此命名空间包括 HttpRequest 类(用于提供有关当前 HTTP 请求的广泛信息)、HttpResponse 类(用于管理对客户端的 HTTP 输出)以及 HttpServerUtility 类(用于提供对服务器端实用工具与进程的访问)。System.Web 还包括用于 Cookie 操作、文件传输、异常信息和输出缓存控制的类。
System.Net 命名空间为当前网络上使用的多种协议提供了简单的编程接口。WebRequest 和 WebResponse 类形成了所谓的可插接式协议的基础,可插接式协议是网络服务的一种实现,它使您能够开发出使用 Internet 资源的应用程序,而不必考虑各种不同协议的具体细节。
【3】核心区别
System.Web.HttpRequest:Incoming,进入请求,也就是客户端访问ASP.NET 网站进入时的请求。所以只能在ASP.NET应用程序上下文里使用。
System.Net.HttpWebRequest:OutGoing,外发请求,可以发出一个HTTP请求,它可以干的活,就比较多了,可以模拟一个独立的客户端,向网站发送请求。
‘伍’ 怎么升级system.web.http
检查一下你的Bin文件夹下有没有System.Web.Http.WebHost.dll文件,如果有,请检查dll的版本。将System.Web.Http.WebHost.dll 4.0版本的文件放入到Bin文件夹下,基本就能解决此问题了! 但是有可能会提醒其他未能加载文件或者程序集错误,请检查...
‘陆’ 引发类型为“System.Web.HttpUnhandledException”的异常。
原因:当你参数不存在时,Request.QueryString("OutlineID")为NULL值,这个时候你怎么能把它toString()呢,在空值上操作肯定是要报你空引用的错误的!!
解决方法:Request.QueryString("OutlineID")可直接做字符串使用,不需要toString()就可以了!
‘柒’ c# HttpWebResponse判断返回请求的问题
没明白你什么意思给你一个我测试的代码吧
HttpReceiveData.aspx
///
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="HttpReceiveData.aspx.cs" Inherits="HttpReceiveData" %>
HttpReceiveData.aspx.cs
///////
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class HttpReceiveData : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
Response.Write("nihao" + Request.Form["Desc"] + Request.Form["Title"]);
Response.End();
////string c = Request.Form["nihao"].ToString();
//String a = Request.Form["Title"].ToString();
//String b = Request.Form["Desc"].ToString();
//Common d = new Common();
//d.ShowMessage(this, a + b);
}
}
HttpSendData.aspx
//
<%@ Page language="c#" %>
<%@ Import Namespace = "System" %>
<%@ Import Namespace = "System.Collections" %>
<%@ Import Namespace = "System.Web" %>
<%@ Import Namespace = "System.Web.UI" %>
<%@ Import Namespace = "System.Web.UI.WebControls" %>
<%@ Import Namespace = "System.Net" %>
<%@ Import Namespace = "System.IO" %>
<%@ Import Namespace = "System.Text" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<script type="text/C#" runat="server">
void Button1_Click(object sender, System.EventArgs e)
{
string strTitle = TextBox1.Text;
string strDesc = TextBox2.Text;
//Encoding encoding = Encoding.GetEncoding("GB2312");
//string postData = "Title=" + strTitle;
//string strUrl = "http://localhost/ht/HttpReceiveData.aspx";
//postData += ("&Desc=" + strDesc);
//byte[] data = encoding.GetBytes(postData);
//// 准备请求...
//HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(strUrl);
//myRequest.Method = "POST";
//myRequest.ContentType="application/x-www-form-urlencoded";
//myRequest.ContentLength = data.Length;
//Stream newStream=myRequest.GetRequestStream();
//// 发送数据
//newStream.Write(data,0,data.Length);
//newStream.Close();
CookieContainer cc = new CookieContainer();
string postData = "Title=" + strTitle;
//string strUrl = "http://localhost/ht/HttpReceiveData.aspx";
postData += ("&Desc=" + strDesc);
byte[] byteArray = Encoding.UTF8.GetBytes(postData); // 转化
HttpWebRequest webRequest2 = (HttpWebRequest)WebRequest.Create("http://localhost/ht/HttpReceiveData.aspx");
webRequest2.CookieContainer = cc;
webRequest2.Method = "POST";
webRequest2.ContentType = "application/x-www-form-urlencoded";
webRequest2.ContentLength = byteArray.Length;
Stream newStream = webRequest2.GetRequestStream();
// Send the data.
newStream.Write(byteArray, 0, byteArray.Length); //写入参数
newStream.Close();
HttpWebResponse response2 = (HttpWebResponse)webRequest2.GetResponse();
long t = response2.ContentLength;
StreamReader sr2 = new StreamReader(response2.GetResponseStream(), Encoding.Default);
string text2 = sr2.ReadToEnd();
Response.Redirect("HttpSendData.aspx");
}
</script>
</HEAD>
<body>
<form id="HTTPPost" method="post" runat="server">
标题:<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
<br>
内容:
<br>
<asp:TextBox id="TextBox2" runat="server" TextMode="MultiLine" Rows="10" Columns="100"></asp:TextBox>
<br>
<asp:Button id="Button1" runat="server" Text=" 发 送 " onclick="Button1_Click"></asp:Button>
</form>
</body>
</HTML>
HttpSendData.aspx文件
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class HttpSendData : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
‘捌’ 请教C++中怎么使用HttpWebRequest
给你举个例子
C/C++ code
std::string getHTML()
{
System::String^ HTML;
try
{
System::Net::HttpWebRequest^ request = (System::Net::HttpWebRequest^)System::Net::WebRequest::Create("http://blog.csdn.net/rrrfff");
request->Proxy = nullptr;
System::Net::HttpWebResponse^ response = (System::Net::HttpWebResponse^)request->GetResponse();
{
System::IO::StreamReader^ reader = gcnew System::IO::StreamReader(response->GetResponseStream());
{
HTML = reader->ReadToEnd();
}
reader->Close();
}
response->Close();
}
catch (System::Exception^ ex)
{
//ex->Message;
}
return marshal_as<std::string>(HTML);
}
‘玖’ C#winForm 怎么调用System.Web.HttpCookie类
cookie是只有在http通讯中才涉及到的协议,在winform中根本没有它适用的环境
‘拾’ 未能加载文件或程序集System.Web.Http或它的某一个依赖项.找到的程序集清单定义与程序集引用不匹配。
请问 解决了吗?我也出现了这种情况 怎么解决了?