首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查ComputerName是否为INT

如何检查ComputerName是否为INT
EN

Stack Overflow用户
提问于 2017-04-20 05:00:41
回答 1查看 78关注 0票数 0

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

My Goal检查本地计算机名,如果是INT,则将其添加到HTTPClient请求中,以从WebService返回相关值。FYI - HostName是这个表的ID值。但是,如果值不是和INT,那么我希望将实际值替换为假值,这样我就可以正确地看到我的页面加载。

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

实际结果是,因为我正在运行应用程序的当前VM没有一个INT作为名称,所以当我输入一个断点来检查值时,我会得到以下结果。但是我仍然可以访问localhost:2463/api/api/101070701,并查看JSON结果。所以我只需要让UWP的位置很好,这样我就可以在应用程序中看到它。

HostName =0

_HostName = LOCALVM_ComputerName。

DeviceIDService

代码语言:javascript
复制
    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

代码语言:javascript
复制
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;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-22 20:08:18

因为Serge实际上没有给出答案,而是提供了评论。我想展示他为解决我的问题所提供的东西。这是我治好的。我改变了一些价值观,但这对我来说是可行的。

  • _Hostname -当从pc抓取实际ComputerName时设置。
  • 如果是INT,hostName将被设置为_Hostname
  • 如果实际名称不是INT,则HostName将更改为101070701。
  • HostName -如果ComputerName是INT的话,它将被单独使用。 int hostName;bool isNumeric = int.TryParse(_Hostname,out hostName);if (!isNumeric) {HostName = 101070701} _Hostname{ HostName = hostName;}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43510582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档