我创建了一个运行在192.168.0.199:87的WCF服务。该服务没有问题。然而,当我创建一个silverlight应用程序来在VS中的我的开发者电脑上使用此服务时,我遇到了跨域问题。我怎么解决这个问题。该服务不是IIS WCF服务。我也无法在同一端口上托管WCF服务和silverlight应用程序。 Silverlight正在192.178.0.199:87上查找clientaccesspolicy.xml,在这种情况下,这是我自托管的WCF服务的地址。
任何帮助都会很棒。
这是我的代码,如果我酿造好东西,我现在不会。 我的app.config文件位于此处。我认为这是一个终点问题,但我不确定。 http://213.46.36.140/app.config.txt
namespace WindowsFormsApplication11
{
public partial class Form1 : Form
{
public ServiceHost _host = null;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
_host = new ServiceHost(typeof(WmsStatService));
_host.Open();
}
}
// Define a service contract.
[ServiceContract(Namespace = "http://WindowsFormsApplication11")]
public interface IWmsStat
{
[OperationContract]
string sayHello(string name);
[OperationContract, WebGet(UriTemplate = "/clientaccesspolicy.xml")]
Stream GetSilverlightPolicy();
}
public class WmsStatService : IWmsStat
{
public string sayHello(string name)
{
return "hello there " + name + " nice to meet you!";
}
Stream StringToStream(string result)
{
WebOperationContext.Current.OutgoingResponse.ContentType = "application/xml";
return new MemoryStream(Encoding.UTF8.GetBytes(result));
}
public Stream GetSilverlightPolicy()
{
// result cointains the clienaccpolicy.xml content.
//
string result = @"
";
return StringToStream(result);
}
}
}