У меня есть приложение ASP.Net (.Net 4, C #, веб-формы, указывающие на рабочий блок SQL), которое прекрасно работает в Visual Studio, но при загрузке на сервер IIS, размещенный в том же окне Windows 7, оноотказывается загружать вторую переменную сеанса.При отладке VS он отображается и показывает имя человека, вошедшего в приложение, обычно получая его из Active Directory, но я предоставляю возможность другому пользователю AD войти в систему.(Использование элементов управления входом ASP.Net на самом деле неосуществимо.)
Проблема в том, что я не могу отладить это на рабочем сервере, но, поскольку он работает в Visual Studio, отладка ничего не показывает.Есть мысли о том, что нужно изменить на IIS или в web.config?Я включил импорт для кода позади.
В конце концов я с этим и готов вернуться к хорошим старым строкам запроса, хотя это будет менее безопасно и будет выглядеть как Amazon.com ссылка.Справка.
Том Хоттл
using System;
using System.IO;
using System.Net;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.DirectoryServices;
using System.Configuration;
namespace ITIncidentMgt
{
public partial class _Default : System.Web.UI.Page
{
private SqlConnection conn;
private string dbConnect =
ConfigurationManager.ConnectionStrings["AssetMgtString"].ConnectionString;
private string SQL;
private string sErr;
private string hello;
private string user_name;
private int userID;
private string user;
private string field;
private string val;
private string add;
private string wHere = " WHERE ";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
user_name = Environment.UserName;
if (DAC.OpenSqlConnection(ref conn, dbConnect, out sErr))
{
if (Session["u"] == null)
{
SQL = "SELECT * FROM Users WHERE Username = '" + user_name + "'";
SqlCommand cmd = new SqlCommand(SQL, conn);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
userID = Convert.ToInt32(dr["UserID"]);
user = dr["DisplayName"].ToString();
}
dr.Dispose();
cmd.Dispose();
Session["u"] = userID;
Session["n"] = user;
}
else
{
userID = Convert.ToInt32(Session["u"]);
user = Session["n"].ToString();
}
hello = "Welcome, " + user + ".";
lblHello.Text = hello;