最近,在为工作的ASP.NET项目编写一些代码时.我们需要一个跟踪工具来获取我们将跟踪它们的用户活动(页面命中数等)的基本指标Session,然后通过Session_End输入将数据保存到DB Global.asax.
我开始乱砍,初始代码工作正常,在每个页面加载时更新数据库.我希望在每个请求中删除此数据库命中,然后只依赖于Session_End存储所有数据.
所有跟踪代码都封装在Tracker类中,包括基本上包装Session变量的属性.
问题 是,当我Tracker.Log()在Session_End方法中执行时,HttpContext.Current.SessionTracker代码中的a失败了NullReferenceException.现在,这是有意义的,因为HttpContext始终与当前请求相关,当然Session_End,没有请求.
我知道Global.asax有一个Session属性返回一个HttpSessionState实际上似乎工作正常(我最终注入到跟踪器)..
不过我很好奇,到底如何才能得到相同的参考HttpSessionState使用对象Global.asax从外面的Global.asax?
先谢谢你们,我很感激你的意见.:)
有时我需要从XML文件中快速提取一些任意数据以放入CSV格式.在Unix终端中执行此操作的最佳做法是什么?我会喜欢一些代码示例,所以例如如何才能解决以下问题?
示例XML输入:
<root>
<myel name="Foo" />
<myel name="Bar" />
</root>
Run Code Online (Sandbox Code Playgroud)
我想要的CSV输出:
Foo,
Bar,
Run Code Online (Sandbox Code Playgroud) 是的,我知道我会完全看起来像这个白痴,但我的大脑今天早上并没有开始装备.
我想要一个方法,我可以说"如果它变坏了,请回到这种类型的异常",对吧?
例如,类似的东西(这不起作用):
static ExType TestException<ExType>(string message) where ExType:Exception
{
Exception ex1 = new Exception();
ExType ex = new Exception(message);
return ex;
}
Run Code Online (Sandbox Code Playgroud)
现在让我感到困惑的是,我们知道泛型类型由于where子句而属于Exception类型.但是,代码失败是因为我们无法隐式地将Exception 强制转换为ExType.我们也无法明确转换它,例如:
static ExType TestException<ExType>(string message) where ExType:Exception
{
Exception ex1 = new Exception();
ExType ex = (ExType)(new Exception(message));
return ex;
}
Run Code Online (Sandbox Code Playgroud)
因为那也失败了......那么这种事情可能吗?我有一种强烈的感觉,它会变得非常简单,但是我和老头脑一起度过了艰难的一天,所以让我有些松懈:P
感谢回复的人,看起来我不是一个完全白痴!;)
好的,所以Vegard和Sam让我能够实例化正确的类型,但显然卡住了,因为消息参数在实例化后是只读的.
Matt用他的回答击中了正确的指甲,我测试了这一切,一切正常.这是示例代码:
static ExType TestException<ExType>(string message) where ExType:Exception, new …Run Code Online (Sandbox Code Playgroud) 我在onclick事件中有两个问题,它们有点类似,所以我会在这里问他们.
第一:
我在div中有一个复选框.输入具有onchange功能,div具有onclick功能.
<div onclick="doSomething()">
<input type="checkbox" onchange="doSomethingElse()" />
</div>
Run Code Online (Sandbox Code Playgroud)
问题是当我选中/取消选中doSomething()和doSomethingElse()时复选框.有关如何阻止这种情况发生的任何想法?我尝试过onchange ="doSomethingElse(event)"和doSomethingElse(e)函数我有e.stopPropagation(); 这没用.
第二:
我在div中有一个图像.div具有onclick功能,但图像没有.故意,图像比div大,并溢出div.
-----------------------
| image |
| --------------- |
| | div | |
| | | |
| --------------- |
| |
-----------------------
Run Code Online (Sandbox Code Playgroud)
如果用户在div框的边界内单击,我只希望触发onclick.但是,如果你点击溢出到div外部的图像的一部分,onclick事件也会触发...任何想法?
第一个问题对我来说比第二个问题更重要.但如果有人能够回答这两个问题那就太棒了!
先谢谢你的帮助,
马特
在传统的瀑布中,需求被收集 - 通常在MS-Word文档中 - 遵循一个深奥的模板.在"严格"瀑布模型中,此文档在需求阶段后冻结,并且变更控制/变更管理流程负责引入受控变更.(**)[通常,文件变成"活文件",最终成为"生活噩梦"]
目前,我将领导一个项目,将现有桌面应用程序重写为Web(从VB 6.0到ASP.Net).客户端具有他想要重写的应用程序的基线版本.[所以要求被冻结......没有范围蔓延].要按原样重用的数据模型.仅迁移前端/业务规则.看看应用程序,我觉得它最多是3/4主屏幕就是这样.
一些团队成员希望在他们开始新开发之前记录(在我看来,旧的思想流派).我和其他一些人认为,将UI转换为Web,查找旧代码,编写业务逻辑,进行自动化单元测试,继续进行集成测试以及按屏幕(或按功能划分的业务功能)进行屏幕显示相对容易
我的问题是:在敏捷开发中,如果我不优化它,我将如何保持"敏捷".我的意见是编写详细的文档是反敏捷的.你怎么看?敏捷大师将如何解决上述问题(将现有的VB 6.0应用程序重写为ASP.Net)?
免责声明: 创建1000页的功能规格可能是为了履行合同义务,这是一种政治需要,系统可能真的很复杂(现在,"复杂性"的定义是一片黑暗的旅程).
我还是ASP.NET世界的新手,所以我可以离开这里,但到目前为止这是我(有限的)知识的最佳选择!
假设我在Business命名空间中有一个标准的业务对象"Contact" .我编写了一个Web服务来从数据库中检索联系人的信息并将其返回.然后我写了一个客户端应用程序来请求所述细节.
现在,我还创建了一个实用程序方法,它接受"联系"并用它做一些魔法,Utils.BuyContactNewHat()比如说.当然需要类型的联系人Business.Contact.
然后我回到我的客户端应用程序并想要使用该BuyContactNewHat方法,所以我添加了对我的Utils命名空间的引用,并且它就是.但是,出现了一个问题:
Contact c = MyWebService.GetContact("Rob);
Utils.BuyContactNewHat(c); // << Error Here
Run Code Online (Sandbox Code Playgroud)
由于返回类型GetContact是MyWebService.Contact和不Business.Contact符合预期的.我理解为什么这是因为在访问Web服务时,实际上是针对WSDL生成的代理类进行编程.
那么,是否有一种"更容易"的方式来处理这种类型的不匹配?我正在考虑尝试创建一个使用反射的通用转换器类,以确保两个对象具有相同的结构,而不是简单地将值从一个传递到另一个.
我正在尝试基于对象的属性创建数据集.例如,我有一个Person类的实例,其属性包括ID,Forename,Surname,DOB等.使用反射,我将基于对象属性向新数据集添加列:
For Each pi As PropertyInfo In person.GetType().GetProperties()
Dim column As New DataColumn(pi.Name, pi.PropertyType)
table.Columns.Add(column)
Next
Run Code Online (Sandbox Code Playgroud)
我的问题是,其中一些属性是可空类型,数据集不支持这些类型.有没有办法从可空类型中提取底层系统类型?
谢谢.
我在表中有以下textarea:
<table width="300"><tr><td>
<textarea style="width:100%">
longstringlongstringlongstringlongstringlongstringlongstringlongstringlongstringlongstringlongstringlongstringlongstringlongstring
</textarea>
</td></tr></table>
Run Code Online (Sandbox Code Playgroud)
在textarea中有一个长字符串,textarea延伸到IE7中的一行中,但在其他浏览器中保留了300px的宽度.
关于如何在IE中修复此问题的任何想法?
我的一部分"将你的开发生活排除在外,Rob"推动我注意到我没有代码片段库(而且Jeff也做了一个帖子).现在我有一些,但我知道我应该努力创建自己的库来提高我的工作效率.
我开始做的一件事就是让我的代码片段编辑器保持打开状态(Snippy),每当我意识到我正在编写公共代码时,我就停下来为它做一个代码片段.
我只是想知道你们使用的编辑器是什么?那里可能会有一个更好的,如果我错过了,我也想参与其中!:)
在编写Web服务时,如何构建返回值?你如何处理错误条件(预期和意外的错误)?如果你返回像int这样简单的东西,你只是将它返回,或者将它嵌入到一个更复杂的对象中吗?一个服务中的所有Web方法是返回单个类的实例,还是为每个方法创建自定义返回值类?