问题: (在最终解决方案) 我有一个Silverlight应用程序:在Web项目Web服务不会与应用互动
网络
的Silverlight
该网站包含服务:
[WebService(Namespace = "svChat")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
//[System.Web.Script.Services.ScriptService]
public class GetIPService : System.Web.Services.WebService
{
public GetIPService()
{
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod]
public string GetIp()
{
return HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
}
}
我得到了使用本服务在我的Silverlight应用程序的类:创建客户端
public class Client
{
private string ip;
private string created;
#region Properties
public string Ip
{
get { return ip; }
set { ip = value; }
}
public string Created
{
get { return created; }
set { created = value; }
}
#endregion
public Client()
{
}
public void SetIp()
{
ServiceReference1.GetIPServiceSoapClient scIpClient = new svChat.ServiceReference1.GetIPServiceSoapClient();
scIpClient.GetIpCompleted += new EventHandler<svChat.ServiceReference1.GetIpCompletedEventArgs>(IpService_Completed);
scIpClient.GetIpAsync();
}
private void IpService_Completed(object sender, ServiceReference1.GetIpCompletedEventArgs e)
{
this.ip = e.Result;
}
}
后,SETIP()被调用,Client.Ip被添加到一个文本框。 什么都没有发生。 Ip = null。
服务本身的作品,测试它。 通过上面的代码获得Ip的作品。
通过Silverlight应用程序获取Ip服务不起作用。
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="GetIPServiceSoap" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:2090/svChat.Web/GetIPService.asmx"
binding="basicHttpBinding" bindingConfiguration="GetIPServiceSoap"
contract="ServiceReference1.GetIPServiceSoap" name="GetIPServiceSoap" />
</client>
</system.serviceModel>
</configuration>
任何想法?
问候,
解决方案: 内创建VS 2010(旗舰版)Silverlight应用程序会导致VS使用相同的测试服务器的Silverlight应用程序和网站。 这是没有问题的,直到VS使用Silverlight配置来设置测试服务器。 Silverlight客户端现在无法正确访问Web服务器Web服务。 确切原因未知,但我认为这是由上述情况引起的。 因此,开始调试,并等待网站加载并弹出“Exception”,然后“停止”调试,并继续测试网站,而不必担心异常。缺点:没有调试。
为什么不直接在客户端和服务器上使用WCF? – 2010-05-22 18:55:33