小编XOR*_*XOR的帖子

如何发现ASP.NET应用程序重启的原因

有没有办法监视(日志)重新启动ASP.NET应用程序的原因?

我们现在遇到了相当复杂的网站问题.它在文件上传期间重新启动.不是每个文件,而是每5到10日肯定.我们使用自定义VirtualPathProvider,因此这可能是一个原因.我们还有一个后台工作线程,这也可能是一个原因.只知道原因会很棒.

XP(IIS 5.1)和Windows Server 2003(IIS 6)上出现问题.

解析度:

谢谢你们,我们已经成功抓住了它.它是由达到的最大重新编译引起的.最有可能的问题出在我们的VirtualPathProvider中,但这是完全不同的问题.

方法摘要:

  1. Hack在ScottGu的博客中工作得很完美.
  2. 通过machine.config进行监控也很棒,但我更喜欢将其登录到我们的日志中.
  3. 事实证明,最简单的解决方案是在我的Application_End方法中检查HostingEnvironment.ShutdownReason属性.

asp.net

19
推荐指数
2
解决办法
5075
查看次数

是否可以在C#中为泛型制作"此类型"?

一种理论问题.很长一段时间,如果你没有理论的心情,请随意跳过.

想象一下,你有两个类,一个继承自另一个.基类是通用的,并且有一个方法,在闭合类型中必须返回此闭合类型的某个实例.

像这样(注意文字中的???):

public class Adapter<T>
{
 public virtual ??? DoSomething()
 {
  ...
 }
}

public class AdaptedString : Adapter<String>
{
 public override AdaptedString DoSomething()
 {
  ...
 }
}
Run Code Online (Sandbox Code Playgroud)

我不能这样做,因为没有办法引用将从泛型类型派生的闭合类型.(对不起破解语言,只是不知道如何表达它.)没有设置关键字???来指定此方法将返回将从此泛型类型派生的类型实例.

相反,我可以使用显式将类型名称传递给通用基础的变通方法.但它看起来多余.

public class Adapter<TThis,T>
{
 public virtual TThis DoSomething()
 {
  ...
 }
}

public class AdaptedString : Adapter<AdaptedString,String>
{
 public override AdaptedString DoSomething()
 {
  ...
 }
}
Run Code Online (Sandbox Code Playgroud)

如果在基类中我需要访问TThis实例的成员,我必须添加一个约束.这一次看起来很难看 - 请注意约束:

public class Adapter<TThis,T>
 where TThis : Adapter<TThis, T>
{
 protected int _field; 

 ...

 public …
Run Code Online (Sandbox Code Playgroud)

.net c# generics

5
推荐指数
2
解决办法
2503
查看次数

MS Outlook - 自动扩展表单

我需要开发能够使用从远程服务器下载的选项卡扩展现有表单的Outlook扩展.例如,在约会表单中应显示其他选项卡.此选项卡中的表单定义从Web服务下载并使用WPF进行呈现.此选项卡的数据也来自服务器,并绑定到表单字段.最后一件事 - 当表单保存时,它也应该提交给这个远程服务器.

它应该在Outlook 2003和2007中有效.

主要问题是:

  1. 它可能吗?
  2. 阅读什么以更快地掌握它?MSDN很大,甚至是它的Outlook开发人员部分.
  3. 有样品吗?

UPDATE

非常感谢您的回答!当然,有太多不同的问题,所以我必须把它分解成几个部分.阅读回复并做完作业后我想恢复:

  1. 是的,这是可能的.也许我稍后会发现一些水下岩石.
  2. 最好的方法是采取VS 2008并尝试进行扩展.

outlook vsto add-in outlook-addin outlook-form

0
推荐指数
1
解决办法
1168
查看次数

标签 统计

.net ×1

add-in ×1

asp.net ×1

c# ×1

generics ×1

outlook ×1

outlook-addin ×1

outlook-form ×1

vsto ×1