2013-10-23 89 views
0

相对较新的mvc。我有我认为一个奇怪的架构项目,我有人离开我的公司后继承。有两个“服务层”。主层是一个期待REST查询的MVC 4项目。下面是它如何工作的:无法调试MVC4项目

  1. 在另一个项目中一个asp.net页面允许用户输入一个REST查询。同一个asp.net页面调用serviceRequest.DownloadString和输入的REST查询。

  2. 这会导致调用mvc 4项目中的DelegatingHandler。此DelegatingHandler会对请求发送的标头进行一些验证。如果数据正确,DelegatingHandler使用传递给DelegatingHandler的相同REST查询调用base.SendAsync。

  3. 这将激活由REST查询调用的mvc 4项目中的控制器。如果它正在工作,则mvc 4项目返回xml。

4,要完成控制器从wcf项目调用方法的大部分工作,

发生的事情是,如果在Visual Studio中运行,此架构可以正常工作。如果将两个服务层(mvc 4和wcf项目)部署到本地计算机上的IIS应用程序,它也可以正常运行。

将服务层部署到两台单独的计算机上时会出现此问题,一台位于dmz,另一台位于防火墙内的macine上。它返回一个500.

我使用了fiddler并修复了一个与连接字符串有关的问题。一旦完成,我仍然得到了500的结果,但没有其他信息。在这种情况下运行的Fiddler再次仅确认我被接收500。我曾尝试:

  1. 在WCF层中使用现有的功能puting跟踪代码在两个服务层

  2. 的CONFIGS到将一些调试信息写入控制器的表中。

我意识到,我可能没有张贴在跟踪代码在MVC和WCF的配置文件,但它似乎是简单地完全绕过了MVC 4项目。我也注意到一些关于能够使用debug.write的信息。这是一个可行的选择。

这两个步骤都没有让我更接近解决问题。我得到的印象是,mvc 4代码根本不会被调用,并且在调用serviceRequest.DownloadString调用DelegatingHandler时发生错误。但是我不知道该去哪里看看我是否正确。代码中是否有一个地方(例如和事件),我可以使用它来跟踪离开asp.net页面时的代码并尝试转到mvc 4项目?

调试这个最好的方法是什么?任何帮助,将不胜感激。

感谢,

Fig0000

回答

0

我不太清楚,但看起来像回到没有显示,因为你不是在本地主机上运行的错误。而错误可能是一些配置文件错误或其他任何东西。

你可以尝试运行隔离(也许创造了每一个虚拟方法的应用,如果这样的作品,使内部电话(假/模拟),所以你可以看到什么实际的问题。

OR 你。可以尝试让MVC显示即使是在偏远的所有错误,您可以在web.config中做到这一点:

<customErrors mode="Off"> 
</customErrors> 
+0

我设法做一些跟踪它看起来像API在激发Application_Start事件,但没有控制器。这只发生在应用程序部署到远程服务器的时候,我在api的OnException事件中放了一个似乎没有触发的事件。我需要找到Application_Start()后发生的其他事件。任何意见,将不胜感激。什么会阻止控制器发射? –

+0

我只是追溯所有的请求事件,他们都被解雇了。控制器仍然没有开火。 –

+0

网址重写,静态MIME类型,全局或控制器属性,在网络配置路由。实际上可以是很多事情。 –