相对较新的mvc。我有我认为一个奇怪的架构项目,我有人离开我的公司后继承。有两个“服务层”。主层是一个期待REST查询的MVC 4项目。下面是它如何工作的:无法调试MVC4项目
在另一个项目中一个asp.net页面允许用户输入一个REST查询。同一个asp.net页面调用serviceRequest.DownloadString和输入的REST查询。
这会导致调用mvc 4项目中的DelegatingHandler。此DelegatingHandler会对请求发送的标头进行一些验证。如果数据正确,DelegatingHandler使用传递给DelegatingHandler的相同REST查询调用base.SendAsync。
这将激活由REST查询调用的mvc 4项目中的控制器。如果它正在工作,则mvc 4项目返回xml。
4,要完成控制器从wcf项目调用方法的大部分工作,
发生的事情是,如果在Visual Studio中运行,此架构可以正常工作。如果将两个服务层(mvc 4和wcf项目)部署到本地计算机上的IIS应用程序,它也可以正常运行。
将服务层部署到两台单独的计算机上时会出现此问题,一台位于dmz,另一台位于防火墙内的macine上。它返回一个500.
我使用了fiddler并修复了一个与连接字符串有关的问题。一旦完成,我仍然得到了500的结果,但没有其他信息。在这种情况下运行的Fiddler再次仅确认我被接收500。我曾尝试:
在WCF层中使用现有的功能puting跟踪代码在两个服务层
的CONFIGS到将一些调试信息写入控制器的表中。
我意识到,我可能没有张贴在跟踪代码在MVC和WCF的配置文件,但它似乎是简单地完全绕过了MVC 4项目。我也注意到一些关于能够使用debug.write的信息。这是一个可行的选择。
这两个步骤都没有让我更接近解决问题。我得到的印象是,mvc 4代码根本不会被调用,并且在调用serviceRequest.DownloadString调用DelegatingHandler时发生错误。但是我不知道该去哪里看看我是否正确。代码中是否有一个地方(例如和事件),我可以使用它来跟踪离开asp.net页面时的代码并尝试转到mvc 4项目?
调试这个最好的方法是什么?任何帮助,将不胜感激。
感谢,
Fig0000
我设法做一些跟踪它看起来像API在激发Application_Start事件,但没有控制器。这只发生在应用程序部署到远程服务器的时候,我在api的OnException事件中放了一个似乎没有触发的事件。我需要找到Application_Start()后发生的其他事件。任何意见,将不胜感激。什么会阻止控制器发射? –
我只是追溯所有的请求事件,他们都被解雇了。控制器仍然没有开火。 –
网址重写,静态MIME类型,全局或控制器属性,在网络配置路由。实际上可以是很多事情。 –