我在IIS中托管了一个由Silverlight客户端应用程序使用的WCF服务。当我运行Silverlight应用程序时,没有任何断点似乎被击中(不是服务中的断点,尽管它们也没有被击中。该服务不在同一解决方案中。)
通常,当我过去创建SL项目时,默认情况下它们会达到断点,我不能改变任何设置。
当我运行项目时,我会收到一个消息框,说“您要调试的Silverlight项目使用Web服务。除非Silverlight项目托管在同一Web上并从同一Web启动,否则对Web服务的调用将失败将项目作为Web服务。你还想调试吗?“
所以我说'是'。
我的断点位于我知道被击中的地方(MainPage.xaml.cs中的InitializeComponent),所以不是这样。
我不知道它是否对客户端应用程序产生了影响,但是WCF服务确实在其App.config中将编译调试设置为“true”。
有人可以帮忙吗?
编辑:
一些有用的要点:项目设置为调试。 SL项目没有Web组件。应用程序编译并正常运行。下面屏幕截图中的代码是主页面的代码,它是默认页面(也就是我在启动项目时看到的页面)。 Visual Studio版本是2010 Ultimate(版本10.0.40219.1 SPRel),我没有创建OOB应用程序。除了定期运行之外,我还专门从Visual Studio中的Debug-> Start Debugging选项开始。
屏幕截图:
如果该图像不够清晰,则存在全分辨率here.
第二个屏幕截图显示MainPage.xaml.cs中InitializeComponent的一个断点,它不会触发(前一个显示相关视图模型的构造函数)。
同样,如果不够清楚,则完整分辨率版本为here.
答案 0 :(得分:1)
您收到的消息与未被点击的断点无关。这个“警告”也不完全正确,只要您正在调用的网络服务正在运行,您就可以了。你可以高兴地忽略这个警告。
至于没有打破断点,我可以想到两个原因。您可能正在以发布模式构建,或者您可能正在启动错误的项目。您不应该启动Visual Studio可能为您创建的MyApp.Web项目,而是实际的Silverlight项目。
如果它不是其中一个选项,您应该提供更多有关您正在做的事情的详细信息,例如Visual Studio版本,是否运行浏览器外应用程序,应用程序是否实际工作等还有一些事情需要检查,但很难用这个小信息来猜测它们。
答案 1 :(得分:0)
我没有在您的解决方案中看到测试page.htm。你是如何托管/运行SL应用程序的?
如果您在ASP.NET Web应用程序中托管它,我会说检查是否在Web项目项目属性上启用了Silverlight调试器。
但是因为它是我无法看到Silverlight应用程序是如何运行的??