C# 为什么我不能从Windows Phone 8 Emulator连接到本地web服务?

C# 为什么我不能从Windows Phone 8 Emulator连接到本地web服务?,c#,web-services,wcf,windows-phone-8,emulation,C#,Web Services,Wcf,Windows Phone 8,Emulation,在把它发布到这里之前,我确实确定我已经耗尽了所有可用的资源。 我正在开发需要访问sql server的windows phone 8应用程序,但无法连接到本地web服务。我以前从未这样做过,而且我对这个概念还不熟悉。 我已经尝试了不同的解决方案,结果是–我一直得到-System.ServiceModel.CommunicationException-{System.Net.WebException}–远程服务器返回了一个错误:NotFound.–错误 正如我之前所说,我尝试了官方msdn的答案,

在把它发布到这里之前,我确实确定我已经耗尽了所有可用的资源。 我正在开发需要访问sql server的windows phone 8应用程序,但无法连接到本地web服务。我以前从未这样做过,而且我对这个概念还不熟悉。 我已经尝试了不同的解决方案,结果是–我一直得到-System.ServiceModel.CommunicationException-{System.Net.WebException}–远程服务器返回了一个错误:NotFound.–错误

正如我之前所说,我尝试了官方msdn的答案,但它对我不起作用。 类似的文章我可以在网上找到。当然不需要提及,在防火墙中的异常不起作用后,我完全关闭了防火墙,禁用了防病毒软件,检查了路由器上的dhcp设置,更改了internet选项中的代理设置,再加上数小时的各种bizare尝试使其运行。没什么

emulator连接到internet似乎没有问题,有三个虚拟交换机我看到的大多数文章只提到了两个,但这并不意味着什么,两个有169.254.x.x地址,而第三个有192.168.x.x地址

运行ipconfig时,我看不到以太网适配器vEthernet Marvell Yukon 88E8057 PCI-E千兆以太网控制器虚拟交换机的默认网关。似乎没有人提到必须有一个,所以我不知道这是否重要。地址是默认的,我相信是169.254.80.80

当我在浏览器Service1.svc文件中运行右键单击+查看时,我能够看到该服务,但任何运行手机项目的尝试都失败

我试图在VS2012和VS2013中解决这个问题。同样的事情

我没有主意了,我下一个最好的猜测是在同一台计算机上的另一个分区安装Windows8.1,看看会发生什么。这次我运行的是Windows8Pro

我希望我说得够具体,我不知道这对其他人有多大帮助,因为我还没有看到有人在重新配置applicationhost.config文件和msdn站点上指出的解决方案后提到这个问题

有人知道原因是什么吗

对不起,我没有发布任何代码。在WFC项目中,我创建了非常简单的PersonScore.cs

[DataContract]
public class PersonScore
{
    [DataMember]
    public string PersonId { get; set; }

    [DataMember]
    public string Name { get; set; }

    [DataMember]
    public double Score { get; set; }

    [DataMember]
    public string Message { get; set; }

} 
在IscoreTransaction.cs中添加了一个方法

[ServiceContract]
public interface IScoreTransaction
{
    [OperationContract]
    PersonScore GetPersonInfo(string personId);
}
并且,ScoreTransaction.svc只是为了将某些内容发送回PhoneApp

public class ScoreTransaction : IScoreTransaction
{
    private double score = 10.00;

public PersonScore GetPersonInfo(string personId)
    {
        //without checking the id, simply return something
        return new PersonScore { PersonId = "1", Name = "John Doe", Score = score, Message   = "Hello world" };
    }   
}
在WF项目中向WFC添加了一个服务引用ScoringService引用,并尝试从MainPage.xaml.cs获取结果,如下所示:

public partial class MainPage : PhoneApplicationPage
{
    private readonly ScoringServiceReference.ScoreTransactionClient proxy;

    public MainPage()
    {
        InitializeComponent();
        proxy = new ScoringServiceReference.ScoreTransactionClient();
        proxy.GetPersonInfoCompleted += proxy_GetPersonInfoCompleted;
    }

    private void proxy_GetPersonInfoCompleted(object sender, ScoringServiceReference.GetPersonInfoCompletedEventArgs e)
    {
        var result = e.Result;
    }

    private void GetInfoBtn_Click(object sender, RoutedEventArgs e)
    {
        proxy.GetPersonInfoAsync(txtId.Text);
    }      
}

然后被卡住了。顺便说一句,在我使用设备的IP-192.168.0.100之一重新配置applicationhost.config文件后,我尝试进行连接,该文件是从设备附加工具->网络获得的,但可以让IIS Express与其一起运行

你没有任何代码,所以你在尝试什么?您是否使用机器名或IP地址来解析web地址?169地址相当于说您没有IP地址。很难说你想做什么。如果您有多个网络连接,请确保您的代码使用的是具有实际IP地址的正确连接,而不是169。尝试使用设备上本地服务的IP地址进行连接。发布一些代码,以便感兴趣的人可以尝试复制。