如何检查computername是否为int



我想我累了或盯着这个太久了。.我需要第二张眼睛。如果有什么看起来太长了,请告诉我。

我的目标要检查本地计算机名称,如果是INT,请将其添加到HTTPCLIENT请求中,以从WebService返回相关值。仅供参考 - 主机名是此特定表的ID值。但是,如果该值不是和int,那么我想替换假伪造的实际值,以便我可以正确看到我的页面加载。

最终,在客户的环境中,如果运行它的本地计算机,我将关闭此页面的显示,这不是正确组的一部分。这样,他们根本就不会看到此配置页面。

实际结果由于我正在运行的当前VM没有该名称的INT,因此当我放入断点以检查值时,我会得到以下内容。但是我仍然可以转到Localhost:2463/api/设备/101070701,并查看JSON结果。因此,我只需要让UWP放置好,以便在应用程序中看到它。

主机名= 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;

因为Serge实际上没有提供答案,而是评论。我想展示他提供的解决问题的东西。这是我修复的。我更改了几个值,但这对我有用。

  • _hostName-从PC获取实际Computername时设置。
  • 主机名 - 如果是int
  • ,将设置为_hostName
  • 主机名 - 如果实际名称不是int
  • ,将更改为101070701
  • 主机名 - 如果计算是int

    int hostName;
    bool isNumeric = int.TryParse(_Hostname, out hostName);
    if (!isNumeric) {HostName = 101070701}
    else
    {
        HostName = hostName;
    }
    

相关内容

  • 没有找到相关文章