Microsoft 购买模拟服务不起作用 (805a0194)

Microsoft purchase mock service does not work (805a0194)

我遵循 Microsoft 提供的 this 程序,主题

Setting up an In-App purchase mock service by using IIS,

设置模拟服务。然后,我尝试通过应用程序尝试使用 CurrentApp.RequestProductPurchaseAsync("MyProduct", false) 访问它。应用程序收到 805a0194 错误代码。

我可以通过查看 IIS 日志找到与站点的交互。 此外,弯腰导致应用程序收到无法连接的消息,因此这不是网络问题。

我的应用程序 运行 windows phone 8.1 模拟器 visual studio 2015。

经过几个小时的寻找我是否弄错了,我意识到问题出在模拟服务本身。从模拟器生成的 url 请求指向 v9 虚拟路径而不是 v8 虚拟路径。可以在 IIS 日志上看到。

要将模拟服务调整到新的 v9 路径,请编辑 global.asax.cs 并替换行

RouteTable.Routes.Add(new ServiceRoute("v8", new WebServiceHostFactory(), typeof(IapMockBrowseService)));

来自

RouteTable.Routes.Add(new ServiceRoute("v9", new WebServiceHostFactory(), typeof(IapMockBrowseService)));

然后使用 visual studio 发布功能构建和部署。

可能只有 8.1 模拟器需要此修复,我没有在其他模拟器上测试。

另一个问题是模拟服务的部署。 运行 命令 CatalogServiceMockDeploymentPackage.deploy.cmd /Y 按照程序将文件安装在站点子文件夹 CatalogMockService 中,而不是将其安装在站点的根目录中。站点文件夹应如下所示:

可能部署工具中的某些内容在发布包后也发生了变化。 要修复简单的问题,请将文件夹中的文件向上移动以匹配打印屏幕。 如果使用 visual studio 再次部署站点,应该已经没问题了。