我想我累了,或者盯着这个看太久了。我需要第二双眼睛。如果有什么东西看起来太长,请告诉我。
My Goal检查本地计算机名,如果是INT,则将其添加到HTTPClient请求中,以从WebService返回相关值。FYI - HostName是这个表的ID值。但是,如果值不是和INT,那么我希望将实际值替换为假值,这样我就可以正确地看到我的页面加载。
最后,在客户的环境中,如果运行此页面的本地计算机不是正确组的一部分,我将关闭该页面的显示。这样他们就不会看到这个配置页面了。
实际结果是,因为我正在运行应用程序的当前VM没有一个INT作为名称,所以当我输入一个断点来检查值时,我会得到以下结果。但是我仍然可以访问localhost:2463/api/api/101070701,并查看JSON结果。所以我只需要让UWP的位置很好,这样我就可以在应用程序中看到它。
HostName =0
_HostName = LOCALVM_ComputerName。
DeviceIDService
public class DeviceIDService
{
public static DeviceIDService Instance = new DeviceIDService();
private DeviceIDService()
{
foreach (HostName DisplayName in NetworkInformation.GetHostNames())
{
if (DisplayName != null)
{
var hostNames = NetworkInformation.GetHostNames();
var hostName = hostNames.FirstOrDefault(name => name.Type == HostNameType.DomainName)?.DisplayName ?? "???";
LocalName = hostName;
break;
}
}
public string LocalName { get; set; }
}
}DevicePageViewModel
public class DevicePageViewModel : ViewModelBase
{
private string _Hostname = DeviceIDService.Instance.LocalName;
public string hostName { get; set; }
public override async OnNavigatedToAsync ()
{
int HostName;
bool isNumeric = int.TryParse(_Hostname, out HostName);
if (isNumeric == true)
{
HostName = 101070701;
}
else
{
string hostName = HostName.ToString();
}
var uriD = new Uri("http://localhost:2463/api/Devices/" + HostName);
HttpClient client = new HttpClient();
try
{
var JsonResponseD = await client.GetStringAsync(uriD);
var devicesResult = JsonConvert.DeserializeObject<List<Device>>(JsonResponseD);
Devices = devicesResult;发布于 2017-04-22 20:08:18
因为Serge实际上没有给出答案,而是提供了评论。我想展示他为解决我的问题所提供的东西。这是我治好的。我改变了一些价值观,但这对我来说是可行的。
https://stackoverflow.com/questions/43510582
复制相似问题