Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.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# MVC 5的错误日志记录_C#_Asp.net Mvc 4_Log4net_Web Deployment_Asp.net Mvc 5 - Fatal编程技术网

C# MVC 5的错误日志记录

C# MVC 5的错误日志记录,c#,asp.net-mvc-4,log4net,web-deployment,asp.net-mvc-5,C#,Asp.net Mvc 4,Log4net,Web Deployment,Asp.net Mvc 5,这是我第一次使用log4net和错误日志。我正在尝试部署MVC5应用程序。我在网络上有一个位置,路径类似于\\dev\wwwroot\scheduler 到目前为止我做了什么? 1) 我使用以下配置在该位置发布了该项目: 将复制到输出目录更改为始终复制 将模型和控制器文件夹中的文件的构建操作更改为编译 将System.Web.Mvc、System.Web.Routing和System.Web.Abstracts的本地复制更改为true 发布后,模型和控制器文件夹将被复制到该位置的\dev\ww

这是我第一次使用log4net和错误日志。我正在尝试部署MVC5应用程序。我在网络上有一个位置,路径类似于
\\dev\wwwroot\scheduler

到目前为止我做了什么?

1) 我使用以下配置在该位置发布了该项目:

  • 复制到输出目录更改为始终复制
  • 将模型和控制器文件夹中的文件的构建操作更改为编译

  • 将System.Web.Mvc、System.Web.Routing和System.Web.Abstracts的本地复制更改为true

  • 发布后,模型控制器文件夹将被复制到该位置的\dev\wwwroot\bccscheduler\bin文件夹中

2) 当我运行应用程序时,我通过提供类似bccscheduler.dev.rgc.lcal/appointments/Details/?clientid=1001的url来启动我的应用程序。我得到处理您的请求时出错

  • 但是当我在localhost上运行应用程序时,它就工作了

  • Iurl约会是控制器,详细信息是行动方法

  • Visual Studio中的文件夹结构类似于
3) 我尝试使用log4net

  • 在项目中创建了日志文件夹
  • 已从配置的log4net

  • 这将在本地运行代码时创建一个日志文件

我需要什么帮助?

1) 部署应用程序时如何启用日志记录


2) 网络位置上的文件夹结构是否正确,因为当我提供url bccscheduler.dev.rgc.lcal/appointments/Details/?clientid=1001时,总是会出现错误。如何正确部署应用程序>

如果无法在部署的服务器上本地运行应用程序,请尝试修改web配置以包括以下内容:

<configuration>
   <system.web>
      <customErrors mode="RemoteOnly"/>
   </system.web>
</configuration>

这应该为您提供一个堆栈跟踪,以便您能够了解到底发生了什么


此外,如果是文件/路径相关问题,请发布log4net.config,因为很多事情很容易出错。调试的第一步是删除一切
wwwroot
,然后上传
index.html
,它只有一个简单的html文本,如-

<html><body><h1>Test</h1></body></html>
测试
如果web服务器可以为index.html提供服务,则创建一个空的ASP.Net MVC项目(与原始项目类似的.Net目标框架),只创建HomeController和index.cshtml。然后将其发布到wwwroot文件夹


如果您可以查看该页面,则说明您的原始应用程序存在问题。如果没有,您需要检查IIS中应用程序的.Net Framework版本。

部署时可能存在安全问题。因此,网络位置上的文件夹结构是正确的?网络路径始终是特定于域的,因此我无法回答这个问题。MVC路由路径需要符合RoutingConfig.cs。如果可以,请发布错误消息。
下的web.config中的
文件值=
是什么?是否使用绝对路径?还是相对路径?如果您有like
c:///code>(绝对路径),它将自动创建文件夹。如果您想使用作为应用程序一部分的相对路径,您应该在MVC应用程序下创建一个新文件夹,并将其命名为“Logs”,并且值必须为
添加此行: