none
win8.1 应用商店中使用wcf的问题 RRS feed

  • 问题

  • win8.1 应用商店中使用wcf的问题

    在本地建立一个wcf服务,然后用应用商店程序服务引用wcf,debug的时候可以返回正常值,

    创建应用程序包之后,安装后运行时

    Exception.Message:“There was no endpoint listening at http://localhost/WcfService3/Service1.svc that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details”       

    InnerException.Message:“unable to connect to remote server ”

    Package.appxmanifest的Internet(客户端和服务器)和私有网络(客户端和服务器)都已经勾选了。

    还有wcf服务如果不在本地,debug和创建应用程序包都是可以使用的。

    为什么wcf服务在本地的时候,创建应用程序包就不好使了呢?debug反而可以使用。


    2015年9月29日 10:51

答案

  • 这个应该可以的:

    Deploy Windows Store App From Command Line

    你可以使用在debug mode下生成的包。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年10月16日 3:05
    版主

全部回复

  • 有明白的吗?这个问题比较着急,谢谢
    2015年9月29日 13:35
  • Hello caishen008,

    >>还有wcf服务如果不在本地,debug和创建应用程序包都是可以使用的

    wcf在本地的时候,你有确认服务是开启的吗?从错误描述来看,是请求的服务没有被找到。

    Regards.


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年9月30日 2:36
    版主
  • 你好,谢谢你的回复

    服务是开启的,我在vs2013中debug的时候是可以调用wcf的。

    但是一打包就异常。

    2015年9月30日 6:15
  • 有明白的吗?
    2015年10月3日 12:45
  • 这个挺起来很奇怪,你可以上传一个你的windows runtime 和引用的WCF的projects到这个论坛,我们可以帮你测试看在我们这边是否也会有同样的问题。我之前也用windows runtime的project里引用WCF服务,在打包之后还是可以继续工作的。

    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年10月6日 1:21
    版主
  • 其实我就是随便建的一个wcf服务应用,里面还没写我自己的代码,

    问题就出在本地的wcf不能被打包的应用商店app调用,debug时运行一切正常。

    如果你们想测试一下的话,按照以下步骤就可以再现问题。

    1.建立一个本地的wcf服务。(不是远程的wcf服务,远程的情况是没问题的)

    2.建立一个商店应用,对wcf调用即可。

    3.可以先debug测一下,结果是可以调用成功的。

    4.在应用商店创建应用程序包之前,一定要把Package.appxmanifest文件中的包名改掉,

       不改的话也是能够调用成功的。

    5.改掉包名后,创建应用程序包,卸载debug的应用程序,安装创建后的包,测试,调用时报错。

      商店应用代码的调用部分参照下面.

      private async void Page_Loaded(object sender, RoutedEventArgs e)
            {
                string str = "";
                try
                {
    
                    ServiceReference1.Service1Client sc = new ServiceReference1.Service1Client();
                    string strR = await sc.GetDataAsync(123);
                    MessageDialog messageDialog1 = new MessageDialog(strR, "");
                    await messageDialog1.ShowAsync();
                
                }
                catch (Exception ee)
                {
                    str = ee.Message;
                }
                MessageDialog messageDialog6 = new MessageDialog(str, "");
                await messageDialog6.ShowAsync();
            
            }

    2015年10月7日 16:26
  • >>1.建立一个本地的wcf服务。(不是远程的wcf服务,远程的情况是没问题的)

    你这个本地的意思是把WCF host到Visual Studio内建的IIS上吗?因为如果是host到本地的IIS,那应该和host到其他机器(相当于远程)效果一样,或是就是host到本地IIS上出错了?

    >>4.在应用商店创建应用程序包之前,一定要把Package.appxmanifest文件中的包名改掉,  不改的话也是能够调用成功的。

    按照你的描述,那这应该是由于安装程序包的名称的问题(不过好奇的是为什么要在创建之前改名字)。稍后会测试下这种情况,我在调用时候没有去改过名字。目前的话建议不要修改包名字了。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年10月8日 1:52
    版主
  • >>你这个本地的意思是把WCF host到Visual Studio内建的IIS上吗?因为如果是host到本地的IIS,那应该和host到其他机器(相当于远程)效果一样,或是就是host到本地IIS上出错了?

    wcf发布到iis上了,发布的没问题。debug调用也没问题。

    我找到原因了,微软不允许以标准方式安装的 Windows 8.x 应用商店 应用对装有它的设备进行网络调用。

    请参照   :  https://msdn.microsoft.com/zh-cn/library/hh771031.aspx

    但是还是不知道如何解决。。。

    >>按照你的描述,那这应该是由于安装程序包的名称的问题(不过好奇的是为什么要在创建之前改名字)。稍后会测试下这种情况,我在调用时候没有去改过名字。目前的话建议不要修改包名字了。

    我改包名是为了测试新安装的情况,比方说我在新的机器上安装一个应用,就不能调用。

    如果一个新的机器上没有debug过,安装的时候是不能用的。


    2015年10月8日 8:02
  • 那应该这应该by designed。测试话还是建议host到远程上。

       

    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年10月8日 9:30
    版主
  • 我在想如何能够把debug后的app1.exe打个包出来或者用命令行部署也可以。

    有办法吗?

    2015年10月8日 13:22
  • Hello caishen008,

    >>我在想如何能够把debug后的app1.exe打个包出来或者用命令行部署也可以。有办法吗?

    Windows runtime程序编译生成的.exe是不能独立运行的,该应用程序需要先部署到机器上后才能运行,而且程序部署方法已经很固定,即只能用在Visual Studio生成的.appx包来部署。一个单独的.exe文件是没有什么用处的.

    Regards.


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年10月9日 1:49
    版主
  • 我的意思是有没有命令去按照debug运行的模式部署一下。

    2015年10月15日 1:40
  • 这个应该可以的:

    Deploy Windows Store App From Command Line

    你可以使用在debug mode下生成的包。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年10月16日 3:05
    版主