Симптомы
- Создайте приложение Microsoft ASP.NET 2.0.
- ASP.NET 2.0 настроен на запуск с учетной записью пользователя.
- Атрибут SerializeAs свойства профиля ASP.NET 2.0 установлен на Xml.
Ошибка CS2001: «D:\WINDOWS\TEMP\d0lurtzx.0.cs» не удалось найти исходный файл
ошибка CS2008: не указаны входные данные
Причина
Решение
Дополнительные сведения
Действия по воспроизведению проблемы
- Создание веб-узла в диспетчере служб Microsoft IIS (IIS).
- Создание локальной учетной записи пользователя Microsoft Windows NT.
- Нажмите кнопку Пуск, выберите пункт Выполнить, введите cmd и нажмите кнопку ОК.
- В командной строке введите следующую команду:CD путьПримечание. Путь представляет путь к папке Microsoft платформа.NET Framework 2.0 на компьютере.
- В командной строке введите следующую команду и нажмите клавишу ВВОД:aspnet_regiis - gaПримечание. Пользователь представляет учетную запись пользователя, созданную на шаге 2.
Пользователь - Изменение удостоверения пула приложений для веб-узла, созданного на шаге 1 на учетную запись, созданную на шаге 2.
- Нажмите кнопку Пуск, выберите пункт Выполнить, введите cmd и нажмите кнопку ОК.
- В командной строке введите команду iisreset /restartи нажмите клавишу ВВОД.
- Создать файл Web.config и добавьте приведенный ниже код в файл Web.config.
Примечание. < сервер > представляет имя сервера, имя пользователя — < пользователя >
Представляет < пароль > пароль для пользователя, и
< каталог > представляет имя каталога.<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<customErrors mode="Off" />
<profile defaultProvider="SqlPProvider" enabled="true">
<providers>
<add name="SqlPProvider" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=1.2.3400.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="SqlPProviderConnection" />
</providers>
<properties>
<add name="FavoriteURLs" type="System.Collections.Specialized.StringCollection" readOnly="false" serializeAs="Xml" />
</properties>
</profile>
<anonymousIdentification enabled="true" cookieless="UseDeviceProfile" />
<authentication mode="Forms">
<forms>
<credentials passwordFormat="Clear">
<user name="a" password="a" />
</credentials>
</forms>
</authentication>
<authorization>
<deny users="?" />
</authorization>
</system.web>
<connectionStrings>
<add name="SqlPProviderConnection" connectionString="server=<Server> ;UID=<User>;PWD=<Password>;Initial Catalog=<Catalog>" />
</connectionStrings>
</configuration> - Создайте файл с именем Login.aspx и добавьте приведенный ниже код в файл Login.aspx.
<%@ Page LANGUAGE="cs" %>
<form runat=server>
<asp:literal runat=server id="MyText" Text=""></asp:literal>
<asp:TextBox runat=server id="UsernameTextBox" Text="Type a user name"></asp:TextBox>
<asp:TextBox runat=server id="PasswordTextBox" Text="Type a password"></asp:TextBox>
<asp:Button id="Submit" Text="Submit" runat="server"/>
</form>
<script runat="server" >
protected void Page_Load(Object source, EventArgs e)
{
MyText.Text += "[Login Page: you are not authenticated]<br>";
String strUserName = UsernameTextBox.Text;
String strPassword = PasswordTextBox.Text;
bool fPersist = false;
bool fVerifed = System.Web.Security.FormsAuthentication.Authenticate(strUserName, strPassword);
if( fVerifed)
{
System.Web.Security.FormsAuthentication.RedirectFromLoginPage(strUserName, fPersist);
}
}
</script> - Создайте файл с именем Test.aspx, а затем добавьте приведенный ниже код в файл Test.aspx.
<%@ Page LANGUAGE="cs" Debug="true" %>
<form runat="server">
<asp:Literal runat="server" id="Literal1" Text=""></asp:literal>
<asp:Button text="Signout" OnClick="Signout_Click" id="SignOutButton" runat=server/>
</form>
<script runat="server" >
void Page_Load(object sender, EventArgs e)
{
Literal1.Text += "[User.Identity.Name=" + User.Identity.Name +"]<br>";
Profile.FavoriteURLs = new System.Collections.Specialized.StringCollection();
Profile.FavoriteURLs.Add("MyString1");
Profile.FavoriteURLs.Add("MyString2");
Profile.FavoriteURLs.Add("MyString3");
if (Profile.FavoriteURLs != null) {
for (int i=0; i<Profile.FavoriteURLs.Count; i++) {
Literal1.Text += "[FavoriteURLs=" + Profile.FavoriteURLs[i] + "]<br>";
}
}
}
void Signout_Click(Object sender, EventArgs E) {
System.Web.Security.FormsAuthentication.SignOut();
Response.Redirect(System.Web.Security.FormsAuthentication.LoginUrl);
}
</script> - Запрос Test.aspx.