Tôi cần lưu trữ tên máy chủ của máy tính yêu cầu trong cơ sở dữ liệu nếu tập dữ liệu mới được tạo. Để chỉ rõ điều này cho người dùng (đó là tất cả nội bộ của công ty), chúng tôi hiển thị điều này dưới dạng ba hộp văn bản trong biểu mẫu mà người dùng điền vào. Ba textbox được điền như thế:ASP.NET Request.UserHostName không chứa tên máy chủ
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
txtHostname.Text = Request.UserHostName.ToString();
txtIPAdress.Text = Request.UserHostAddress.ToString();
txtWindowsLogin.Text = Request.LogonUserIdentity.Name.ToString();
}
}
Tuy nhiên không có vấn đề từ những gì khách hàng tôi kiểm tra, tra cứu đảo ngược của IP mà nên cung cấp tên máy trong Request.UserHostname không hoạt động, vì vậy lĩnh vực này được làm đầy với địa chỉ IP. Nếu tôi sử dụng nslookup trên máy chủ, việc đảo ngược hoạt động tốt. Bất kỳ gợi ý nào cho tôi nơi tôi có thể bắt đầu? Cảm ơn rất nhiều.
Xin chào @HackedByChinese, cảm ơn bạn rất nhiều vì đã liên kết, nó chính xác là điều đúng đắn. Để thử nghiệm, tôi đã kích hoạt tra cứu ngược lại bằng IIS, nhưng tôi cũng sẽ sửa đổi ứng dụng để sử dụng Dns.GetHostEntry. Mã của bạn trông rất tốt, tôi sẽ chỉ thêm một 'ném ArgumentException' nếu ip là null hoặc rỗng. Cảm ơn một lần nữa :-) –