我正在尝试在Windows 8.1应用中使用WCF服务,但我无法生成references.cs
文件,如下例所示:
public partial class WeatherSoapClient : System.ServiceModel.ClientBase<MetroTestApp.WeatherService.WeatherSoap>, MetroTestApp.WeatherService.WeatherSoap {
/// <summary>
/// Implement this partial method to configure the service endpoint.
/// </summary>
/// <param name="serviceEndpoint">The endpoint to configure</param>
/// <param name="clientCredentials">The client credentials</param>
我的Reference.cs
文件(用于差异WCF服务)生成如下:
public partial class StoreServicesClient : System.ServiceModel.ClientBase<TMAPrivateStore.PrivateStoreApp.StoreServicesRef.IStoreServices>, TMAPrivateStore.PrivateStoreApp.StoreServicesRef.IStoreServices {
public StoreServicesClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
base(binding, remoteAddress) {
}
因此,如果我进行必要的配置更改(根据此博客 http://blogs.msdn.com/b/piyushjo/archive/2011/09/22/wcf-in-win8-metro-styled-apps-absolutely-supported.aspx),更新服务引用时它们会丢失。这里出了什么问题?它与我的WCF服务有关吗?
答案 0 :(得分:0)
今天生成的代理代码现在与4年前撰写文章时的情况有所不同可能有很多原因,但主要的两个是:
这些事情中的任何一个都可能导致生成的代码完全改变 - 代码生成过程虽然最终是确定性的,但仍将不可预测地响应服务本身和/或代理生成工具的变化。
无论如何,这不应该阻止您使用服务,您只需要在生成的代码中查找GetCityWeatherByZIPAsync()
服务代理操作,并使用await或类似的异步机制从内部调用它你的地铁应用。