Tag: asp.net

如何使用WebRequest发布数据并从网页获取响应

我需要实现一个应用程序来发布请求到一个给定的url并得到回应。 什么是最好的方法发送请求到给定的url并得到回应? 请帮忙。

如何解决ASP.NET错误“文件'nnn.aspx'没有被预编译,不能被请求。”?

我有一个使用“发布网站”发布的VS 2005网站,我清除了所有的三个checkbox。 我也有一个部署项目,拿起发布的文件,并创build一个MSI。 然后,我将该软件包安装在单独的testing服务器上。 换句话说,整个网站是预编译的。 但是,当我去任何名为“服务”的特定子文件夹中的任何.aspx文件时,我得到一个HttpException: System.Web.HttpException:文件“/myapp/Services/mypage.aspx”尚未预编译,无法请求。 如果我去其他文件夹中的.aspx文件,无论是根或其他子文件夹,它正常工作。 mypage.aspx本身的内容是: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="mypage.aspx.cs" Inherits="Services_mypage" %>" 在/myapp/bin文件夹中,我可以看到一个mypage.aspx.989dc2fb.compiled文件。 这个内容似乎指向一个特定的程序集,也存在于bin文件夹中。 为什么会发生此错误? .compiled文件在那里,程序集在那里,问题中的types是在该程序集中存在(我可以在对象浏览器中看到它)。 是否有关.compiled文件的名称或内容? 不知何故,我有错误的版本? .compiled文件名中的表面上的随机数是什么意思,它是重要的? 我也想提一下,这个问题突然出现了,我不确定自从几天前正常工作以来(但据我所知,没有),可以做些什么改变。

在ASP.NET中传输文件的最佳方法

什么是使用ASP.NETstream式处理文件的最佳方式? 似乎有各种各样的方法,并且我正在http处理程序中使用Response.TransmitFile()方法,该方法将文件直接发送到浏览器。 这用于各种各样的事情,包括从webroot外部发送FLV到embedded式Flashvideo播放器。 但是,这似乎不是一个可靠的方法。 特别是Internet Explorer(7)有一个奇怪的问题,浏览器在查看一个或两个video后就挂起了。 点击任何链接等都不起作用,而在网站上重新开始工作的唯一方法是closures浏览器并重新打开它。 在其他浏览器中也会出现这种情况,但是频率要低得多。 基于一些基本的testing,我怀疑这是与文件stream式传输的方式有关…也许连接没有被正确closures,或沿着这些线路。 在尝试了几个不同的事情之后,我发现以下方法适用于我: Response.WriteFile(path); Response.Flush(); Response.Close(); Response.End(); 这解决了上述问题,查看video不再导致Internet Explorer挂起。 不过,我的理解是, Response.WriteFile()首先将文件加载到内存中,并且考虑到一些正在stream式传输的文件可能会相当大,这似乎不是一个理想的解决scheme。 我有兴趣听听其他开发人员如何在ASP.NET中传输大型文件,特别是stream式传输FLVvideo文件。

不能使用前导../来退出顶层目录

我有一个asp.net的网站,我们有pipe理员只有pipe理员的login页面的所有网站是允许所有 – 我需要问如何定义正确的安全configuration,因为我得到这个错误 不能使用前导..从顶端目录之上退出。 说明:执行当前Web请求期间发生未处理的exception。 请查看堆栈跟踪,了解有关错误的更多信息以及源代码的位置。 exception详细信息:System.Web.HttpException:不能使用前导..以退出顶部目录。 源错误: 在执行当前Web请求期间生成未处理的exception。 有关exception的来源和位置的信息可以使用下面的exception堆栈跟踪来标识。 堆栈跟踪: [HttpException(0x80004005):不能使用前导..以退出顶部目录。] System.Web.Util.UrlPath.ReduceVirtualPath(String path)+8862087 System.Web.Util.UrlPath.Reduce(String path)+52 System.Web.Util.UrlPath.Combine(stringappPath,stringbasepath,string相对)+214 System.Web.UI.Control.ResolveClientUrl(String relativeUrl)+180 System.Web.UI.WebControls.Image.AddAttributesToRender(HtmlTextWriter作家)+68 System.Web.UI.WebControls.WebControl.RenderBeginTag(HtmlTextWriter作家)+20 System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter作家)+20 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter作家,ControlAdapter适配器)+27 System.Web.UI.Control.RenderControl(HtmlTextWriter作家,ControlAdapter适配器)+99 System.Web.UI.Control.RenderControl(HtmlTextWriter作家)+25 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter作家,ICollection的孩子)+134 System.Web.UI.Control.RenderChildren(HtmlTextWriter作家)+19 System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter作家)+163 System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter作家)+32 System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter输出)+51 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter作家,ControlAdapter适配器)+27 System.Web.UI.Control.RenderControl(HtmlTextWriter作家,ControlAdapter适配器)+99 System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter作家)+40 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter作家,ICollection的孩子)+134 System.Web.UI.Control.RenderChildren(HtmlTextWriter作家)+19 System.Web.UI.Control.Render(HtmlTextWriter作家)+10 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter作家,ControlAdapter适配器)+27 System.Web.UI.Control.RenderControl(HtmlTextWriter作家,ControlAdapter适配器)+99 System.Web.UI.Control.RenderControl(HtmlTextWriter作家)+25 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter作家,ICollection的孩子)+134 System.Web.UI.Control.RenderChildren(HtmlTextWriter作家)+19 System.Web.UI.Page.Render(HtmlTextWriter作家)+29 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter作家,ControlAdapter适配器)+27 System.Web.UI.Control.RenderControl(HtmlTextWriter作家,ControlAdapter适配器)+99 System.Web.UI.Control.RenderControl(HtmlTextWriter作家)+25 System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)+1266 我的configuration文件: <authentication mode="Forms"> <forms name=".ASPXFORMSAUTH" protection="All" loginUrl="Admin/LoginPage.aspx" path="/" enableCrossAppRedirects="true"> […]

温莎城堡有什么缺点?

我一直在寻找城堡项目,特别是温莎。 我对这种技术的可能性印象深刻,拥有松散耦合系统的好处显而易见。 唯一我不确定的是,如果使用这种方法有任何缺点,特别是在asp.net? 例如性能命中等。 我正试图让这个方法的好处对我的开发人员可见,并且正在受到以下的回击: 这是使用reflection,每次从容器调用一个对象,reflection必须使用,所以性能将是可怕的。 (这是这种情况吗?每次通话都使用reflection?) 如果我依靠接口; 我如何处理那些已经join了课堂的额外方法和属性的对象呢? (通过inheritance)

使用Json.NetparsingJSON数组

我正在与Json.Netparsing一个数组。 我想要做的是将名称/值对拉出数组,并分配JObject时分配给特定的variables。 这是我在数组中得到的: [ { "General": "At this time we do not have any frequent support requests." }, { "Support": "For support inquires, please see our support page." } ] 以下是我在C#中获得的内容: WebRequest objRequest = HttpWebRequest.Create(dest); WebResponse objResponse = objRequest.GetResponse(); using (StreamReader reader = new StreamReader(objResponse.GetResponseStream())) { string json = reader.ReadToEnd(); JArray a = JArray.Parse(json); //Here's […]

无法确定一个MetaTable

我有与FormView和SQLDataSource简单的应用程序。 当我选中“启用dynamic数据支持”时,出现以下错误: Could not determine a MetaTable. A MetaTable could not be determined for 数据源“SqlDataSource1”,无法从请求URL中推断出来。 确保表被映射到数据源,或者数据源configuration了有效的上下文types和表名,或者请求是注册的DynamicDataRoute的一部分。 有任何想法吗?

RequestVerificationToken不匹配

我有一个反CRSF MVC机制的问题。 返回的cookie和表单input不匹配。 我每次都收到一个错误,只能在一个特定的页面。 在其余的应用程序中,它运作良好。 服务器正在返回HTTP 500 Internal Server Error ,我可以在日志中看到这个exception: [System.Web.Mvc.HttpAntiForgeryException]:{“所需的防伪标记未提供或无效。”} 这是服务器正在生成的隐藏input是: <input name="__RequestVerificationToken" type="hidden" value="QK8P7rjyZE6Vm5seY7Fr704YCOoFGdTIMzl1W7R0ZFpXSMjGKLG2T05DfFSYTxvtQCEx7DDT69DGsDB2+ZXFHY8oAjiKz0gw8BhDFywgmfIpoXnGpj7fONNzIIfvbrDrE9WJsMu6Io/0bDLM5WfKs0zktiNjyOWpfYrmnfINYmjW8NLOZFoz74xTcgTptAld"> 这是返回的Cookie: Set-Cookie:__RequestVerificationToken_L2VGbG93=skmTAVI8HCbfxDS+xhioIMIISL3UOBI7qJM1JbHjTtAqKl4W70pDUcTKMm0p3R3mrHDziE8vXw0C0OO4HArzWO1/e6py+v/cFdbe9maFgjl4jMiZ9Wc4YIhC6+IUXkk6yqJDJ8dCIr8qtGaYcD9IX+m7/SlVhu521KQSWJYRcaY=; path=/; HttpOnly 当我检查服务器发送的内容时,cookie是完全一样的,但是我认为有效载荷有不同的编码: __RequestVerificationToken:QK8P7rjyZE6Vm5seY7Fr704YCOoFGdTIMzl1W7R0ZFpXSMjGKLG2T05DfFSYTxvtQCEx7DDT69DGsDB2%2BZXFHY8oAjiKz0gw8BhDFywgmfIpoXnGpj7fONNzIIfvbrDrE9WJsMu6Io%2F0bDLM5WfKs0zktiNjyOWpfYrmnfINYmjW8NLOZFoz74xTcgTptAld 差异是以两个字符显示编码: / -> %2F + -> %2B 这些是我可以find隐藏的input字段和后有效载荷之间唯一的区别。 可能是导致ValidateAntiForgeryTokenvalidation令牌失败的问题? 问候。

当.NET抛出WebException((400)Bad Request)时如何处理WebResponse?

我正在使用Facebook Graph Api并试图获取用户数据。 我发送用户访问令牌,万一这个令牌过期或无效的Facebook返回状态代码400和这个回应: { "error": { "message": "Error validating access token: The session is invalid because the user logged out.", "type": "OAuthException" } } 问题是,当我使用这个C#代码: try { webResponse = webRequest.GetResponse(); // in case of status code 400 .NET throws WebException here } catch (WebException ex) { } 如果状态代码是400 .NET抛出WebException,并且在exception被捕获后我的webResponse为null ,所以我没有机会处理它。 我想这样做,以确保问题是在过期的令牌,而不是其他地方。 有没有办法做到这一点? 谢谢。

如何在ASP.NET MVC中呈现HTMLstring?

在我的主页上,我有代码@{Html.RenderPartial("_Partial1.cshtml");} ,并在我的部分,我有一个HTMLstring: @{ // The string is actually dynamic, not static. This is here for simplicity string abc="<div class=\"error\">abc</div>"; } @abc 我想输出abc一些CSS错误样式,但我实际上得到了<div class="error">abc</div> – 当然,没有样式。 我如何将它解释为HTML源代码而不是string?