Re: Manually Created Web Site Does Not Work - What am I Missing?
- From: "Juan T. Llibre" <nomailreplies@xxxxxxxxxxx>
- Date: Sun, 5 Oct 2008 11:02:52 -0400
re:
!> I was hoping that my Web site (#2) would not need to
!> have the same name or folder structure as my VS project.
Your website doesn't need to have the same name. Your VS project must.
re:
!> if that's my only or best option.
You can also compile the assemblies manually from the command-line,
using either msbuild or the language compiler your application uses.
I am curious about this that you wrote:
!> 3. Set the NTFS permissions to be the same as those for the same project
!> as created under Visual Studio - including for the ASP.NET account.
As you may, or may not, know, the accounts ASP.NET runs as are different
for the ASP.NET Web Development Server embedded into VS 2008...and IIS.
The ASP.NET Dev Server runs as the Administrator account in VS 2008.
When running ASP.NET in IIS 5.1/XP, the account ASP.NET uses is the ASPNET (no dot) account.
That may also affect your database functionality, since the account name passed to
your SQL Server database, if you're not using ad-hoc authentication, will be different in each case.
To which account did you grant read/write permissions to ?
If you're not sure which account ASP.NET is running as, run this script I wrote :
identity.aspx :
---------------------
<%@ Page Language="VB" %>
<%@ Import NameSpace = System.Security.Principal %>
<script runat="server">
Sub Page_Load()
Dim tmp As String = WindowsIdentity.GetCurrent.Name()
Label1.Text = "ASP.NET is running as the account : " & tmp
End Sub
</script>
<html>
<head>
<title>What account is ASP.NET running as ?</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" Runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
</html>
-----------
Running that script will tell you which account ASP.NET is running as.
*That* will be the account which needs NTFS permissions.
You may want to run the script in both environments ( VS 2008 and IIS ),
so that you can check that there's a different result for each.
Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
======================================
"Jordan S." <A@xxxxx> wrote in message news:uZln5HvJJHA.5972@xxxxxxxxxxxxxxxxxxxxxxx
Thanks Juan,
I can certainly do as you suggest, and will gladly do so if that's my only or best option.
I was hoping that my Web site (#2) would not need to have the same name or folder structure as my VS project. I plan
to copy this ASP.NET Web application for use by multiple customers. Is there any way I can tell ASP.NET to use the dll
files from App #1 in the /bin directory of App #2 even though the name doesn't match? Perhaps I'm totally missing some
important point here. If so, where can I read up on this naming convention? (I'm not sure what terms to search google
on for this).
Thanks again.
"Juan T. Llibre" <nomailreplies@xxxxxxxxxxx> wrote in message news:%23T6ya5uJJHA.3680@xxxxxxxxxxxxxxxxxxxxxxx
re:
!> 2. Copied all of the site's dll and ascx files into the folder structure,
!> with all of the dlls going into the bin folder, as in the VS project's folder structure.
You can't do that.
Dll's in the bin directory have a naming convention based on the Application's name.
That's why you're getting the error.
Your second application is trying to find application2.dll in its /bin directory,
but only finds application1.dll in its /bin directory.
To solve this, *don't* copy the dlls for the 1st app into the 2nd app's /bin directory.
Create a new VS 2008 blank project, add your aspx/ascx/config/asax files and compile the new project.
VS will automatically create the bin dlls with the correct name.
*Now*, you can copy all of the site's dll and ascx files into the virtual folder structure.
Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
======================================
"Jordan S." <A@xxxxx> wrote in message news:u26Vn3rJJHA.3764@xxxxxxxxxxxxxxxxxxxxxxx
On my XP Pro dev box I have created an ASP.NET Web application using Visual Studio 2008 pro. It works great. I then
went to manually create a copy of the Web site, with a different name, on the same machine. I did the following, and
the Web site fails to start with a 403 error, or a 404, depending on the particular resource requested.
Here are the steps I have performed:
1. Created a new NTFS folder structure, with a \bin folder under the site's root folder.
2. Copied all of the site's dll and ascx files into the folder structure, with all of the dlls going into the bin
folder, as in the VS project's folder structure.
(note: there are zero aspx files in this site, as all pages requests are served via custom http handler factory)
3. Set the NTFS permissions to be the same as those for the same project as created under Visual Studio - including
for the ASP.NET account.
4. Manually created the Web site (web application virtual directory) in IIS (mmc snap-in), being careful to keep the
permissions and capabilities the same as those for the Web application virtual directory that Visual Studio had
created for the original project.
5. Ran aspnet_regiis -s on the new Web site... it ran to completion normally (no error messages when it ran).
6. Restarted IIS (via MMC snap-in).
After all of the above, the site fails to start. In Global.Init, I write to an Application event log... writing a
brief message stating that the Web site started. No such message appears in the event log. In my custom override of
Global.Init, I also have good exception handling that writes a warning or error message to the event log. No such
messsage appears. Also, during my custom override of Global.Init, I have logic that connects to and queries a local
SQL Server database. As I monitor DB activity, the database receives no attempts to connect from this particular
ASP.NET Web application.
So it's as if this thing isn't starting at all - at least not my custom logic. If I create a really simple
default.aspx file (with static html only and no code-behind), then that is served to the browser just fine. But even
in these cases, nothing else works (as described above... no messages written to the event log, so I know my custom
Global.Init isn't running.
What could I be missing? What to do now? Thanks!
.
- Follow-Ups:
- Re: Manually Created Web Site Does Not Work - What am I Missing?
- From: Jordan S.
- Re: Manually Created Web Site Does Not Work - What am I Missing?
- References:
- Manually Created Web Site Does Not Work - What am I Missing?
- From: Jordan S.
- Re: Manually Created Web Site Does Not Work - What am I Missing?
- From: Juan T. Llibre
- Re: Manually Created Web Site Does Not Work - What am I Missing?
- From: Jordan S.
- Manually Created Web Site Does Not Work - What am I Missing?
- Prev by Date: Why is Visual Studio slow? Can I troubleshoot it?
- Next by Date: Re: Why is Visual Studio slow? Can I troubleshoot it?
- Previous by thread: Re: Manually Created Web Site Does Not Work - What am I Missing?
- Next by thread: Re: Manually Created Web Site Does Not Work - What am I Missing?
- Index(es):
Relevant Pages
|