我想调试我的程序,但我无法在VS 2010中托管我的silverlight项目 这是VS发给我的消息:
“您要调试的Silverlight项目使用Web服务。除非Silverlight是主机并且从包含Web服务的同一Web项目启动,否则调用Web服务将失败”
当我在网上搜索它时,我发现问题是我不是在本地做的 所以当我试图改变这一行时
endpoint address="http://xxx.xx.x.x/WebService/Service1.svc"
到
endpoint address="http://localhost/WebService/Service1.svc"
在这个文件上: ServiceReferences.ClientConfig
更新!!
我现在尝试这样做:
endpoint address="http://localhost:54502/Service1.svc"
我得到了错误,说:
the remote server returned an error:NotFound
这里:
public int EndAddParticipant(System.IAsyncResult result) {
object[] _args = new object[0];
int _result = ((int)(base.EndInvoke("AddParticipant", _args, result)));
return _result;
我应该怎么做才能改变它? 我看到我需要打开web.config文件中的调试,但它已经打开了。
答案 0 :(得分:0)
你没有解释清楚,所以这里有一堆答案:
创建解决方案时,您应该告诉它在网站上托管。
你可以在事后做到这一点,但这是很多工作(对于一个新人),你最好重新开始并从你的silverlight项目中复制你的代码。
如果您这样做但是您尝试连接到另一个网站作为您的Web服务,则必须实现跨域配置文件。这打开了一个很大的安全漏洞。
如果你有2个项目,但你的问题只是" ServiceReferences.ClientConfig"如果文件没有指向正确的服务器,则需要在本地调试时包含PORT。看起来应该是这样的:
http://localhost:12345/Service1.svc
其中12345是本地Web服务的端口。您可以通过查看" Web"项目属性的选项卡。
希望其中一个能做到。如果没有,请提供更多信息,例如短语背后的所有重要信息,"它没有工作"!