Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# IIS启动行为flakey(Web API)_C#_Asp.net Mvc 4_Iis 7.5 - Fatal编程技术网

C# IIS启动行为flakey(Web API)

C# IIS启动行为flakey(Web API),c#,asp.net-mvc-4,iis-7.5,C#,Asp.net Mvc 4,Iis 7.5,我们已经使用IIS构建了n层应用程序,以使用Web API提供RESTful服务 不幸的是,当我们启动应用程序视图或从URL运行网站时,有时它可以工作,有时它会失败,异常情况是其中一个字段为空。我们将参数异常设置为保护,但很明显,类型字段在不应该设置的情况下显示为null 由于我们使用了基本Web API模板,因此Global.asax.cs中有以下行: RouteConfig.RegisterRoutes(RouteTable.Routes) 这反过来又要求: public class Rou

我们已经使用IIS构建了n层应用程序,以使用Web API提供RESTful服务

不幸的是,当我们启动应用程序视图或从URL运行网站时,有时它可以工作,有时它会失败,异常情况是其中一个字段为空。我们将参数异常设置为保护,但很明显,类型字段在不应该设置的情况下显示为null

由于我们使用了基本Web API模板,因此Global.asax.cs中有以下行:

RouteConfig.RegisterRoutes(RouteTable.Routes)

这反过来又要求:

public class RouteConfig
  {
    public static void RegisterRoutes(RouteCollection routes)
    {
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

  routes.MapRoute(
      name: "Default",
      url: "{controller}/{action}/{id}",
      defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
  );
}
}`

现在需要强调的是,这[几乎]总是在visual studio/IIS Express中工作。然而,当我们将它部署到IIS中时,或者实际上是在visual studio上下文之外部署IIS Express时,它会变得很脆弱并且无法工作-但是如果您继续使用它,它最终会变得很有用

到目前为止,我们已经尝试:

  • 删除我们可以找到的对ASP.NET 2.x的任何引用(所有内容都是基于.NET 4.5构建的)
  • 将以下内容添加到Web.Config:
任何进一步的想法都是受欢迎的-如果您需要任何额外的代码,请告诉我,我会添加它(不知道确切需要什么)


谢谢

我将尝试调试在IIS下运行的web应用程序,这将忽略IIS Express和IIS之间的任何差异(正确)

您可以在
w3wp.exe进程运行时附加到该进程(Visual Studio,调试->附加)


调试启动代码时,可能需要包括对
Debugger.Break()的调用
作为临时帮助程序,允许Visual Studio附加到进程。

您的应用程序池是否设置为.net 4.0?是否有记录到事件查看器的内容?确保关闭模拟。谢谢-事实证明,这确实是IIS加载某些程序集时所需的相关自定义,但是,当在开发环境之外运行时,IIS太迟钝了!