小编Iva*_*ric的帖子

处理程序"ExtensionlessUrlHandler-Integrated-4.0"在其模块列表中有一个错误的模块"ManagedPipelineHandler"

说实话,我试图在IIS上变成一个肮脏的把戏,当我认为我要逃避它时,我意识到我的解决方法不起作用.这是我试图做的事情:

1)我有ASP.NET应用程序,它具有继承IProcessHostPreloadClient的Preloader类,并在Preload方法实现中完成所有繁重的初始化(应用程序很复杂,并且它是庞大系统的一部分,所以它需要大约2分钟来建立所有必要的连接服务并预先实例化一些Unity注册).

2)我需要在应用程序关闭(取消订阅,断开连接,处理......)上完成大量工作,我想最好的地方是位于Global.asax中的*Application_End*方法.

3)当我有用户活动时,一切正常工作(包含上述Web应用程序的应用程序池启动后的第一个请求将导致*Application_Start*被调用,之后*Application_End*在应用程序池停止或回收时调用),但问题当没有用户活动且应用程序在激活48小时后尝试重新启动时发生(配置的要求).由于没有请求,申请正式没有开始.因此,它不能被优雅地停止,因为*Application_End*将不会被调用.

4)现在出现了凌乱的部分......我试图在Preload方法结束时从代码中发出GET请求,并且它有效.但这个解决方案对我来说似乎很糟糕,尽管它有效.所以,我尝试了很多东西,我尝试的最后一件事是:

SimpleWorkerRequest swr = new SimpleWorkerRequest(string.Empty, string.Empty, tw);
HttpRuntime.ProcessRequest(swr);
Run Code Online (Sandbox Code Playgroud)

......这就是它的目的.*调用Application_Start*,(我已经检查了响应,它包含了应该在初始请求中显示的登录页面),并且应用程序池关闭应用程序通过在*Application_End*中执行必要的工作而正常结束.

在以这种方式启动(预加载和启动)应用程序之后,当我想通过Web浏览器访问应用程序时会发生这种情况:

HTTP错误500.21 - 内部服务器错误处理程序"ExtensionlessUrlHandler-Integrated-4.0"在其模块列表中有一个错误的模块"ManagedPipelineHandler"

我无法弄清楚这一点.谁能告诉我为什么会发生这种情况以及如何解决这个问题?

如果我不知道这一点,我将回到第一个解决方案(从代码发送GET请求),但这一问题将错误我,因为我甚至不有一个想法,什么是错的.

c# asp.net iis web-applications

243
推荐指数
11
解决办法
25万
查看次数

WPF中复选框左侧的文字?

将复选框内容(文本)放在复选框本身左侧的最简单方法是什么?

.net wpf checkbox user-interface

54
推荐指数
7
解决办法
5万
查看次数

为什么这个赋值不是线程安全的?

我一直在读Joseph Albahari关于线程的这本书:http:
//www.albahari.com/threading/

在第2部分中,我找到了这个例子:http:
//www.albahari.com/threading/part2.aspx#_When_to_Lock

以下是上述示例:

class ThreadUnsafe
{
  static int _x;
  static void Increment() { _x++; }
  static void Assign()    { _x = 123; }
}
Run Code Online (Sandbox Code Playgroud)

线程安全版本:

class ThreadSafe
{
  static readonly object _locker = new object();
  static int _x;

  static void Increment() { lock (_locker) _x++; }
  static void Assign()    { lock (_locker) _x = 123; }
}
Run Code Online (Sandbox Code Playgroud)

我无法理解为什么Assign方法不是线程安全的.在32位和64位架构上,整数赋值不应该是原子操作吗?

c# multithreading locking thread-safety

10
推荐指数
1
解决办法
972
查看次数

带有参数的VSTemplate TargetFolderName

我正在尝试创建类似于MVC的Area的ItemTemplate。无论如何,我无法在TemplateContent中创建一个包含TargetFolderName和参数的文件夹。这是我的TemplateContent部分的简化示例:

<TemplateContent>
    <Folder Name="Area" TargetFolderName="$AreaName$">
        <ProjectItem ReplaceParameters="true" TargetFileName="$AreaName$Controller.cs">Controller.cs</ProjectItem>
    </Folder>
</TemplateContent>
Run Code Online (Sandbox Code Playgroud)

即使MSDN指出TargetFolderName

对于使用参数替换来创建文件夹名称或使用无法在.zip文件中直接使用的国际字符串命名文件夹很有用。

尽管如此,我还是无法完成这项工作。

输入“ TestArea ”的预期结果:

TestArea
   |__ TestAreaController.cs
Run Code Online (Sandbox Code Playgroud)

实际结果:

$AreaName$
   |__ TestAreaController.cs
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

提前致谢。

c# visual-studio visual-studio-templates

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