我正在编写一个上传函数,并且httpRuntime在web.config中使用大于指定最大大小的文件时捕获"System.Web.HttpException:超出最大请求长度"时遇到问题(最大大小设置为5120).我正在使用一个简单<input>的文件.
问题是在上传按钮的click-event之前抛出了异常,并且异常发生在我的代码运行之前.那么如何捕获和处理异常呢?
编辑:异常立即抛出,所以我很确定它不是由于连接速度慢导致的超时问题.
有没有什么办法让HttpContext.Current.Request.Url.Host和HttpContext.Current.Request.ApplicationPath一个电话吗?
像"完整的应用程序URL"?
编辑:澄清 - 我需要的是[]中的部分:
http://[www.mysite.com/mywebapp]/Pages/Default.aspx
Run Code Online (Sandbox Code Playgroud)
我只是出于好奇而问.
编辑2:感谢所有的回复,但没有一个是我正在寻找的.仅供参考,我以这种方式解决了问题(但我仍然有兴趣知道是否有更顺畅的方式):
public string GetWebAppRoot()
{
if(HttpContext.Current.Request.ApplicationPath == "/")
return "http://" + HttpContext.Current.Request.Url.Host;
else
return "http://" + HttpContext.Current.Request.Url.Host + HttpContext.Current.Request.ApplicationPath;
}
Run Code Online (Sandbox Code Playgroud) 是否可以阻止垂直滚动条将DataGrid列/标题向左推?(见图)
或者,是否可以设置小圆圈区域的样式,使其不仅仅显示为白色方块?

我正在使用.NET实体框架,我有一个包含varbinary的实体.有没有一种简单的方法可以在代码隐藏中获取varbinary的大小,从数据库中检索后呢?
我想可能有一些方法可以直接从实体获取大小,比如entity.Context.Size - 还是需要以不同的方式处理它?
我正在编写一个导出函数,我需要将联系人导出到Excel,而且我遇到了技术问题 - 或者我的SQL技能差距可能更接近事实了.;)
这是场景:我在数据库中有很多联系人.每个联系人都可以有许多不同的角色,例如联系人可以是C#Developer和DBA,也可以是DBA和IT-manager.这些分为三个表,如下所示:
------------------- ------------------- -------------------
* Contact * * ContactRole * * Role *
------------------- ------------------- -------------------
* ID * * ContactID * * ID *
* Name * * RoleID * * Name *
* Address * ------------------- -------------------
-------------------
Run Code Online (Sandbox Code Playgroud)
不太难以遵循.有一组联系人和一组角色.这些由各个ID上的ContactRole表连接.
当我导出联系人时,我需要在导出中有一个列,所有角色都以逗号分隔,例如C# Developer, DBA或DBA, IT-manager.导出将从ASP.NET/C#代码隐藏完成,所以我想我可以在代码中执行此操作,但我觉得可以在SQL中执行此操作.
数据来自SQL Server 2005.
我正在.NET中编写一个上传函数,用于在用户配置文件上显示图像.我在两种不同的方式中做出选择,并且想就有关利弊提出建议和意见.
将图像直接存储在文件系统上
将图像存储在数据库中
到目前为止,我一直是第一个选择 - 在用户名之后命名图像,因为每个用户只能有一个演示图像.然后,如果用户有图像,我会在指定的路径中进行检查,如果没有显示默认的"无图像" - 图像.
我喜欢的另一件事是它节省了数据库中的空间 - 如果没有额外的二进制负载,数据库将非常繁重.
我确信还有其他方面我没想过,所以我想听听你对此的看法.如果有人对这个问题有完全不同的解决方案,请分享一下!
我正在尝试编写一个正则表达式来检查,因此给定的字符串是一个"有效"的名称.从数据库中检索名称字符串,然后检查它们是否包含奇怪的字符.(因为这是一个瑞典语系统,我仍然需要包含一些瑞典语中常见的奇怪字符.;))
问题是这会导致每个字符串输入失败.我的猜测是正则表达式没有正确终止,如果没有结束字符串.但我无法弄清楚为什么.
所以我的正则表达式如下所示 - 我在示例中尝试了两个正则表达式字符串:
public static bool NameCheck(string name)
{
if(name == "" || name == " " || name == null)
{
return false;
}
//Regex regex = new Regex(@"/^[a-zåäöÅÄÖáéóúýíüÁÉÓÚÝÍÜ\-\.]+([---\s][a-zåäöÅÄÖáéóúýíüÁÉÓÚÝÍÜ\-\.]+)+/i");
Regex regex = new Regex(@"/^[a-zåäöÅÄÖáéóúýíüÁÉÓÚÝÍÜ\-\.]+([---\s][a-zåäöÅÄÖáéóúýíüÁÉÓÚÝÍÜ\-\.]+)+$/i");
return regex.IsMatch(name);
}
Run Code Online (Sandbox Code Playgroud)
任何接受者?
注意:我正在通过在正则表达式检查之前拆分字符串解决我的系统中的问题所以我不必处理空格,但我很好奇为什么正则表达式不起作用.
当我尝试从ASPX页面在MasterPage中设置公共属性时,我得到了堆栈溢出.
我正在使用TabContainer制作一个"贺卡"编辑器.每个选项卡都有一个用户控件,当更改活动选项卡时,所有内容都会更新 - 这样做我需要将所有数据存储在母版页属性中.
从ASPX页面:
protected void tcTabs_ActiveTabChanged(object sender, EventArgs e)
{
Master.Message = "blahblah";
}
Run Code Online (Sandbox Code Playgroud)
来自MasterPage:
public string Message
{
get { return Message; }
set { Message = value; }
}
Run Code Online (Sandbox Code Playgroud)
这就是我得到堆栈溢出的地方; 在集{}中.我尝试设置的并不重要,每次都会遇到同样的问题.我确定我错过了一些小事,但据我所知,我正在遵循我发现的所有例子.
我们有一个数据库,其中联系人只是软删除,即我们将名为deleted的位设置为true.API处理此问题,但有时您需要直接针对数据库运行查询,并且很容易忘记该位,并导出实际删除的联系人.这不是一个大问题,因为我习惯了这个系统,但是如果我正在度假,或者如果其他人要接管我想确保这些行不会被退回 - 除非特别要求.这给我们留下了以下两个问题:
有没有办法告诉SQL Server(在这种情况下为2005)不返回行,例如,如果某个位设置为true?
如果是这样,如果特别要求(如果bit ='true'),仍可以检索这些行吗?
当谈到实际决定会话超时的时候,我很困惑.
在登录(或抛出)用户之前,Web应用程序需要允许20分钟的"空闲时间".我在IIS中的sessionState和Recycle worker进程上尝试了不同的设置.超时仍然太短,就我的原始测试所显示的那样,有点随机.
我在某处读到默认超时是20分钟,但在我的应用程序中它似乎更接近五.有没有简单的方法来改变这个?该应用程序在IIS 6上运行.NET 3.5.
编辑:我刚刚意识到实体框架可能与问题有关,因为用户内容作为实体框架中的上下文保存.实体持有多长时间是否有时间限制?
asp.net ×5
c# ×4
.net ×2
sql ×2
sql-server ×2
t-sql ×2
code-behind ×1
database ×1
datagrid ×1
filesystems ×1
httpcontext ×1
iis ×1
iis-6 ×1
image ×1
master-pages ×1
regex ×1
scrollbar ×1
storage ×1
timeout ×1
wpf ×1
xaml ×1