我有一个基本控制器类,我将覆盖Controller.OnException处理程序方法,以便为将继承此类的某些类型的控制器提供一般错误处理(这些控制器将返回JSON结果).当控制器引发异常时,永远不会调用OnException方法.有谁看到我做错了什么,还是有更好的方法来处理这种情况?
使用MVC 1.0
基类:
public class APIController : Controller
{
protected override void OnException(ExceptionContext filterContext)
{
//This is never called
filterContext.Result =
new JsonResult();
base.OnException(filterContext);
}
}
Run Code Online (Sandbox Code Playgroud)
继承类:
public class MyController : APIController
{
public AjaxResult ForcedException()
{
throw new SystemException();
}
}
Run Code Online (Sandbox Code Playgroud) 我对VB比较熟悉,我买的这本书有C#的例子,现在我卡住了.
如何在VB.NET中实现以下功能?
public abstract class ENTBaseDATA<T> where T : IENTBaseEntity
{
public abstract List<T> Select();
public abstract T Select(int id);
etc....This code already is converted :)
}
Run Code Online (Sandbox Code Playgroud)
有关完整代码,请参阅第2章下载:
http://www.wrox.com/WileyCDA/WroxTitle/productCd-0470396865,descCd-DOWNLOAD.html
我们有一个WCF服务,用于查询底层数据存储(现在是SQL Server 2005).该服务可能会返回相当大量的数据; 我们的实体类的60000多个实例,包含约20个属性.这些属性大多是基元,例如string,int,DateTime,其中一对指向其他实体,而这些实体可能反过来指向其他实体; 但这些等级并不是很深.
使用此服务的一个应用程序通常会生成仅返回合理数量实体的查询(从几个实例到几千个实体).但偶尔它会产生一个如上所述返回大量的查询(并且它将需要处理该数据,因此缩小查询条件不是一个选项).
我们想要做的是引入某种"分页"功能,客户端可以调用该服务并返回一定数量的实例,然后再次调用并获取下一个块,依此类推,直到获取完整结果为止. .没有与WCF合作很多,我不太确定实现这一目标的最佳方法.
可能要记住的一件事是,在获取块时,底层数据可能会发生很大变化.我不太确定这是否对我们来说是一个问题(需要稍微研究一下),但它可能是,所以任何关于处理这种特殊情况的输入也是受欢迎的.
我们已经开始研究流式传输响应,但是也希望看到分页的样本,因为我们可能希望在收到完整结果之前开始处理数据.
因此,简而言之:这种情况是否存在最佳实践(或者我们应该注意的任何绝对禁忌)?
我需要将Excel电子表格导入我的程序并具有以下代码:
string connectionString = String.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=""Excel 8.0;IMEX=1;HDR=NO;""", MyExcelFile.xls);
command.CommandText = "SELECT * FROM [Sheet1$]";
Run Code Online (Sandbox Code Playgroud)
(注意,上面的代码不是真正的代码,但应该让你看看我在做什么)
我正在导入文件,唯一的问题是Excel工作表中超过255个字符的任何列都被截断.
有没有办法解决这个问题?
我在某处读到,如果你确保前8行中的列中有一长串文本,那么它将被视为备注字段,因此不会被截断,但这似乎不起作用.
有任何想法吗?
格雷姆
我们正在使用Subversion来跟踪我们的代码.作为构建过程的一部分,构建脚本会临时编辑一些AssemblyInfo.cs文件,并且在构建完成后,它们将被还原(也可以通过构建脚本).但是,当尝试恢复时,我们的一个开发人员会收到此消息:
客户端太旧,无法使用工作副本"路径".您需要获得更新的Subversion客户端,或者降级此工作副本.
我们都运行相同版本的Subversion(1.5.1).开发人员设置之间的唯一区别是有问题的用户使用的是更高版本的TortoiseSVN(1.6.0,而其他版本则为1.5.x),而且我们一直在运行Subversion 1.5.1存储库已经存在.
你对这个问题有什么暗示吗?
我有一种插件模型,其中各种复杂的用户控件存储在DLL中,并在运行时加载和实例化使用
Activator.CreateInstanceFrom(dllpath, classname).
Run Code Online (Sandbox Code Playgroud)
由于我正在加载其中的一些,我想在后台执行它,通过创建一个新线程来执行加载来保持我的UI响应.然后,控件将作为主窗体的父级,并在需要时显示.
这似乎工作正常 - 直到我尝试在其中一个用户控件上的任何嵌套控件上设置任何属性,例如在按钮的事件处理程序中,这会引发交叉线程异常.我确实通过每次访问属性时检查InvokeRequired都可以避免这种情况,但是在为用户控件编写代码时我宁愿不必担心(特别是因为还有其他人编写这些代码也可能并不总是记得).
所以我的问题是,是否有任何安全的方法来做我正在尝试的事情,或者我应该如何最好地在后台加载这些控件?或者它基本上是不可能的,我是否必须坚持主线程来创建控件?
我希望我提供的信息足以使我的情况清楚; 如果没有,我很乐意详细说明并提供代码示例.
我的asp.net站点允许用户从app_themes文件夹生成的列表中选择他们想要的主题.有时会重命名或删除主题.选择已删除主题名称的任何用户(它存储在cookie中)都将获得异常:
Theme 'XXX' cannot be found in the application or global theme directories
Stack Trace:
[HttpException (0x80004005): Theme 'test' cannot be found in the application or global theme directories.]
System.Web.Compilation.ThemeDirectoryCompiler.GetThemeBuildResultType(String themeName) +920
System.Web.Compilation.ThemeDirectoryCompiler.GetThemeBuildResultType(HttpContext context, String themeName) +73
System.Web.UI.Page.InitializeThemes() +8699455
System.Web.UI.Page.PerformPreInit() +38
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +282
Run Code Online (Sandbox Code Playgroud)
陷阱和处理此异常的最佳位置在哪里?
我试图验证C#字符串是否符合XML Schema dateTime格式.看看MSDN,似乎"o","s"或"u"标准格式字符串都可以描述有效的dateTimes,但我无法让DateTime.ParseExact为我工作.我在这做错了什么?
string myDate = "1999-05-31T13:20:00.000-04:00";
DateTime.ParseExact(myDate, "o", CultureInfo.InvariantCulture, DateTimeStyles.None);
DateTime.ParseExact(myDate, "s", CultureInfo.InvariantCulture, DateTimeStyles.None);
DateTime.ParseExact(myDate, "u", CultureInfo.InvariantCulture, DateTimeStyles.None);
Run Code Online (Sandbox Code Playgroud)
以上都不是.对不起,如果我的格式不好:第一次在这里发布一个问题.
净.我创建了一个正则表达式验证器来检查特殊字符意味着我不想要用户名中的任何特殊字符.以下是代码
Regex objAlphaPattern = new Regex(@"[a-zA-Z0-9_@.-]");
bool sts = objAlphaPattern.IsMatch(username);
Run Code Online (Sandbox Code Playgroud)
如果我提供的用户名为$%^&asghf,则验证器提供无效数据格式,这是我想要的结果但是如果我提供数据s23 _ @ .- ^&()%^ $#那么我的验证器应该阻止数据但是我的验证器允许错误的数据
那么如何不允许任何特殊字符,除了az AA 0-9 _ @ .-
谢谢Sunil Kumar Sahoo
我有10个字.如何获得5个单词的所有可能组合(n=10, k=5).订单无关紧要.
例如:"A", "B", "C", if k=2 (n=3 in this case),它想要AB,BC和AC.也许你知道一些有用的代码或例子.
PS对不起,如果我不够正确,因为我不太懂英语.
.net ×4
c# ×4
asp.net ×1
asp.net-mvc ×1
combinations ×1
controller ×1
controls ×1
datetime ×1
excel ×1
generics ×1
import ×1
jet ×1
oledb ×1
onexception ×1
paging ×1
regex ×1
string ×1
svn ×1
themes ×1
tortoisesvn ×1
vb.net ×1
wcf ×1
winforms ×1
words ×1
xsd ×1