WebServices break after upgrade to Framework 1.1

  • Thread starter Thread starter Joseph Geretz
  • Start date Start date
J

Joseph Geretz

I recently upgraded my server to Windows 2003. The first thing I noticed is
that my sample WebService pages no longer worked. The Invoke test button is
missing. This is addresed by the following KB article:

Microsoft Knowledge Base Article - 819267
INFO: HTTP GET and HTTP POST Are Disabled by Default

http://support.microsoft.com/default.aspx?scid=kb;en-us;819267

The article advises that a new block be inserted into Web.config (or into
machine.config).

<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>

OK, I used the advice in that article to adjust my web.config file and now
the Invoke button is restored on my WebService test pages. However, here's
what I get when I press the Invoke button:

File or assembly name _03c_moy.dll, or one of its dependencies, was not
found.

Press it again:
File or assembly name 7g5kkds2.dll, or one of its dependencies, was not
found.

And again:
File or assembly name 3ah-fp0w.dll, or one of its dependencies, was not
found.

Every time I invoke the service I get a messgae telling me that a randomly
named dll is not found. If you want, you can stop by
www.fpsnow.com/pdportal.asmx to check this out for yourself. Does anyone
know what's going on here? (I'd just like to stress that these service pages
were working flawlessly before the upgrade.)

Ancillary questions: My application was developed, compiled and targetd for
framework 1.0, since at the time that was, after all, the only framework in
existence. Now that the machine is upgraded with a new framework 1.1, does
the application run under its original framework or under the new framework?
Shouldn't applications be locked down to the framework to which they are
originally targeted?

Thanks for you help!

- Joe Geretz -
 
I feel your pain. I had to do open heart surgery on my webservice this week
after a 1.1 upgrade. I've hit your site and it's currently about 2 minutes
in without a response. Here are a couple things to check. If you are hitting
some sort of database on the back end using oledb or odbc drivers you will
need to remove all your references and delete the assembly from the bin. 1.1
now has these assemblies in the framework and they are made available in the
system.data.oledb/odbc namespace. They conflict and cause all sorts of grief
if you leave them in there. Do a full rebuild on your project including all
satellite assemblies. Hit the page from the server itself, ie-local then hit
the page from outside. it should work.
By the way, your webservice timed out.
hth
 
no i meant rebuilding your webservice project and redeploying it. when you
upgrade to framework 1.1, iis is remapped to work off of 1.1 and not 1.0

i'm not behind a firewall
 
Hi Alvin,

I redeployed the entire application. Things just took a nasty turn for the
worse. Now the entire site is broken. I've reproduced the error stack below.
In an effort to address this I placed the ASPNET user into Administrators
and Domain Administrators, but I still get this error. How can access be
denied to an Administrator?

Thanks

- Joe Geretz -
Server Error in '/FPSNow' Application.
----------------------------------------------------------------------------
----

Access to the path "C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary
ASP.NET Files\fpsnow\44aff0e0\eb59b9a4\hash.web" is denied.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.

Exception Details: System.UnauthorizedAccessException: Access to the path
"C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\fpsnow\44aff0e0\eb59b9a4\hash.web" is denied.

ASP.NET is not authorized to access the requested resource. Consider
granting access rights to the resource to the ASP.NET request identity.
ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or
Network Service on IIS 6) that is used if the application is not
impersonating. If the application is impersonating via <identity
impersonate="true"/>, the identity will be the anonymous user (typically
IUSR_MACHINENAME) or the authenticated request user.

To grant ASP.NET write access to a file, right-click the file in Explorer,
choose "Properties" and select the Security tab. Click "Add" to add the
appropriate user or group. Highlight the ASP.NET account, and check the
boxes for the desired access.

Source Error:


An unhandled exception was generated during the execution of the
current web request. Information regarding the origin and location of the
exception can be identified using the exception stack trace below.


Stack Trace:


[UnauthorizedAccessException: Access to the path
"C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\fpsnow\44aff0e0\eb59b9a4\hash.web" is denied.]
System.IO.__Error.WinIOError(Int32 errorCode, String str) +393
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean
bFromProxy) +888
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize) +44
System.IO.StreamWriter.CreateFile(String path, Boolean append) +55
System.IO.StreamWriter..ctor(String path, Boolean append, Encoding
encoding, Int32 bufferSize) +49
System.IO.StreamWriter..ctor(String path, Boolean append, Encoding
encoding) +20

System.Web.Compilation.PreservedAssemblyEntry.WritePreservedSpecialFilesComb
inedHash(Int64 hash) +165
System.Web.Compilation.PreservedAssemblyEntry.DoFirstTimeInit(HttpContext
context) +848

System.Web.Compilation.PreservedAssemblyEntry.EnsureFirstTimeInit(HttpContex
t context) +98

System.Web.Compilation.PreservedAssemblyEntry.GetPreservedAssemblyEntry(Http
Context context, String virtualPath, Boolean fApplicationFile) +28
System.Web.UI.TemplateParser.GetParserCacheItemFromPreservedCompilation()
+91
System.Web.UI.TemplateParser.GetParserCacheItemInternal(Boolean
fCreateIfNotFound) +148
System.Web.UI.TemplateParser.GetParserCacheItemWithNewConfigPath() +125
System.Web.UI.TemplateParser.GetParserCacheItem() +87
System.Web.UI.ApplicationFileParser.GetCompiledApplicationType(String
inputFile, HttpContext context, ApplicationFileParser& parser) +171
System.Web.HttpApplicationFactory.CompileApplication(HttpContext context)
+43
System.Web.HttpApplicationFactory.Init(HttpContext context) +485
System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext
context) +170
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +414
 
Well, I finally fixed this.

First of all, I used aspnet_regiis to roll back my web app to use framework
1.0.

Then, for whatever reason (and I'll take a closer look at this) I needed to
add Everyone to be able to access
WINNT\Microsoft.NET\Framework\v1.0.3705\Temporary ASP.NET Files AND
WINNT\Temp.

(I wonder if anyone can explain why TWO Temp folders are needed to run an
ASPX application? Who designed this? Some moron from the Microsoft Security
group?)

After fixing the problem with the security settings for the WINNT temp
folder, I bet I could switch this back up to framework 1.1. But no point
asking for trouble... Anyway, the site's back up and running now.

Thanks for your help!

- Joe Geretz -

Joseph Geretz said:
Hi Alvin,

I redeployed the entire application. Things just took a nasty turn for the
worse. Now the entire site is broken. I've reproduced the error stack below.
In an effort to address this I placed the ASPNET user into Administrators
and Domain Administrators, but I still get this error. How can access be
denied to an Administrator?

Thanks

- Joe Geretz -
Server Error in '/FPSNow' Application.
-------------------------------------------------------------------------- --
----

Access to the path "C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary
ASP.NET Files\fpsnow\44aff0e0\eb59b9a4\hash.web" is denied.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.

Exception Details: System.UnauthorizedAccessException: Access to the path
"C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\fpsnow\44aff0e0\eb59b9a4\hash.web" is denied.

ASP.NET is not authorized to access the requested resource. Consider
granting access rights to the resource to the ASP.NET request identity.
ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or
Network Service on IIS 6) that is used if the application is not
impersonating. If the application is impersonating via <identity
impersonate="true"/>, the identity will be the anonymous user (typically
IUSR_MACHINENAME) or the authenticated request user.

To grant ASP.NET write access to a file, right-click the file in Explorer,
choose "Properties" and select the Security tab. Click "Add" to add the
appropriate user or group. Highlight the ASP.NET account, and check the
boxes for the desired access.

Source Error:


An unhandled exception was generated during the execution of the
current web request. Information regarding the origin and location of the
exception can be identified using the exception stack trace below.


Stack Trace:


[UnauthorizedAccessException: Access to the path
"C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\fpsnow\44aff0e0\eb59b9a4\hash.web" is denied.]
System.IO.__Error.WinIOError(Int32 errorCode, String str) +393
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean
bFromProxy) +888
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize) +44
System.IO.StreamWriter.CreateFile(String path, Boolean append) +55
System.IO.StreamWriter..ctor(String path, Boolean append, Encoding
encoding, Int32 bufferSize) +49
System.IO.StreamWriter..ctor(String path, Boolean append, Encoding
encoding) +20

System.Web.Compilation.PreservedAssemblyEntry.WritePreservedSpecialFilesComb
inedHash(Int64 hash) +165
System.Web.Compilation.PreservedAssemblyEntry.DoFirstTimeInit(HttpContext
context) +848

System.Web.Compilation.PreservedAssemblyEntry.EnsureFirstTimeInit(HttpContex
t context) +98

System.Web.Compilation.PreservedAssemblyEntry.GetPreservedAssemblyEntry(Http
Context context, String virtualPath, Boolean fApplicationFile) +28
System.Web.UI.TemplateParser.GetParserCacheItemFromPreservedCompilation()
+91
System.Web.UI.TemplateParser.GetParserCacheItemInternal(Boolean
fCreateIfNotFound) +148
System.Web.UI.TemplateParser.GetParserCacheItemWithNewConfigPath() +125
System.Web.UI.TemplateParser.GetParserCacheItem() +87
System.Web.UI.ApplicationFileParser.GetCompiledApplicationType(String
inputFile, HttpContext context, ApplicationFileParser& parser) +171
System.Web.HttpApplicationFactory.CompileApplication(HttpContext context)
+43
System.Web.HttpApplicationFactory.Init(HttpContext context) +485
System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext
context) +170
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +414
--------------------------------------------------------------------------
--
----

Version Information: Microsoft .NET Framework Version:1.1.4322.573; ASP.NET
Version:1.1.4322.573

Alvin Bruney said:
no i meant rebuilding your webservice project and redeploying it. when you
upgrade to framework 1.1, iis is remapped to work off of 1.1 and not 1.0

i'm not behind a firewall
80.
If you
will was
not was
not was
not they
are
 
That wouldn't do it. you need to give the asp net worker process at least
read access to the virtual directory from iis.

Joseph Geretz said:
Hi Alvin,

I redeployed the entire application. Things just took a nasty turn for the
worse. Now the entire site is broken. I've reproduced the error stack below.
In an effort to address this I placed the ASPNET user into Administrators
and Domain Administrators, but I still get this error. How can access be
denied to an Administrator?

Thanks

- Joe Geretz -
Server Error in '/FPSNow' Application.
-------------------------------------------------------------------------- --
----

Access to the path "C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary
ASP.NET Files\fpsnow\44aff0e0\eb59b9a4\hash.web" is denied.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.

Exception Details: System.UnauthorizedAccessException: Access to the path
"C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\fpsnow\44aff0e0\eb59b9a4\hash.web" is denied.

ASP.NET is not authorized to access the requested resource. Consider
granting access rights to the resource to the ASP.NET request identity.
ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or
Network Service on IIS 6) that is used if the application is not
impersonating. If the application is impersonating via <identity
impersonate="true"/>, the identity will be the anonymous user (typically
IUSR_MACHINENAME) or the authenticated request user.

To grant ASP.NET write access to a file, right-click the file in Explorer,
choose "Properties" and select the Security tab. Click "Add" to add the
appropriate user or group. Highlight the ASP.NET account, and check the
boxes for the desired access.

Source Error:


An unhandled exception was generated during the execution of the
current web request. Information regarding the origin and location of the
exception can be identified using the exception stack trace below.


Stack Trace:


[UnauthorizedAccessException: Access to the path
"C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\fpsnow\44aff0e0\eb59b9a4\hash.web" is denied.]
System.IO.__Error.WinIOError(Int32 errorCode, String str) +393
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean
bFromProxy) +888
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize) +44
System.IO.StreamWriter.CreateFile(String path, Boolean append) +55
System.IO.StreamWriter..ctor(String path, Boolean append, Encoding
encoding, Int32 bufferSize) +49
System.IO.StreamWriter..ctor(String path, Boolean append, Encoding
encoding) +20

System.Web.Compilation.PreservedAssemblyEntry.WritePreservedSpecialFilesComb
inedHash(Int64 hash) +165
System.Web.Compilation.PreservedAssemblyEntry.DoFirstTimeInit(HttpContext
context) +848

System.Web.Compilation.PreservedAssemblyEntry.EnsureFirstTimeInit(HttpContex
t context) +98

System.Web.Compilation.PreservedAssemblyEntry.GetPreservedAssemblyEntry(Http
Context context, String virtualPath, Boolean fApplicationFile) +28
System.Web.UI.TemplateParser.GetParserCacheItemFromPreservedCompilation()
+91
System.Web.UI.TemplateParser.GetParserCacheItemInternal(Boolean
fCreateIfNotFound) +148
System.Web.UI.TemplateParser.GetParserCacheItemWithNewConfigPath() +125
System.Web.UI.TemplateParser.GetParserCacheItem() +87
System.Web.UI.ApplicationFileParser.GetCompiledApplicationType(String
inputFile, HttpContext context, ApplicationFileParser& parser) +171
System.Web.HttpApplicationFactory.CompileApplication(HttpContext context)
+43
System.Web.HttpApplicationFactory.Init(HttpContext context) +485
System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext
context) +170
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +414
--------------------------------------------------------------------------
--
----

Version Information: Microsoft .NET Framework Version:1.1.4322.573; ASP.NET
Version:1.1.4322.573

Alvin Bruney said:
no i meant rebuilding your webservice project and redeploying it. when you
upgrade to framework 1.1, iis is remapped to work off of 1.1 and not 1.0

i'm not behind a firewall
80.
If you
will was
not was
not was
not they
are
 
Hi Alvin,

Well first of all, the resource which can't be accessed is not the
application IIS virtual directory. It's the application cache directory.
Second, the ASPNET user (INTERNAL\ASPNET is in fact authorized to read/write
files in this directory. So is SYSTEM. But unless I add Everyone with the
same access rights, no dice.

Same goes for the WINNT\Temp folder. This folder is not used for general
application pages, but it is used when the webservice is called.

Isn't INTERNAL\ASPNET the user credentials under which the application runs
when accessed anonymously? I'm baffled.

- Joe Geretz -

Alvin Bruney said:
That wouldn't do it. you need to give the asp net worker process at least
read access to the virtual directory from iis.

Joseph Geretz said:
Hi Alvin,

I redeployed the entire application. Things just took a nasty turn for the
worse. Now the entire site is broken. I've reproduced the error stack below.
In an effort to address this I placed the ASPNET user into Administrators
and Domain Administrators, but I still get this error. How can access be
denied to an Administrator?

Thanks

- Joe Geretz -
Server Error in '/FPSNow' Application.
--------------------------------------------------------------------------
--
----

Access to the path "C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary
ASP.NET Files\fpsnow\44aff0e0\eb59b9a4\hash.web" is denied.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.

Exception Details: System.UnauthorizedAccessException: Access to the path
"C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\fpsnow\44aff0e0\eb59b9a4\hash.web" is denied.

ASP.NET is not authorized to access the requested resource. Consider
granting access rights to the resource to the ASP.NET request identity.
ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or
Network Service on IIS 6) that is used if the application is not
impersonating. If the application is impersonating via <identity
impersonate="true"/>, the identity will be the anonymous user (typically
IUSR_MACHINENAME) or the authenticated request user.

To grant ASP.NET write access to a file, right-click the file in Explorer,
choose "Properties" and select the Security tab. Click "Add" to add the
appropriate user or group. Highlight the ASP.NET account, and check the
boxes for the desired access.

Source Error:


An unhandled exception was generated during the execution of the
current web request. Information regarding the origin and location of the
exception can be identified using the exception stack trace below.


Stack Trace:


[UnauthorizedAccessException: Access to the path
"C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\fpsnow\44aff0e0\eb59b9a4\hash.web" is denied.]
System.IO.__Error.WinIOError(Int32 errorCode, String str) +393
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean
bFromProxy) +888
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize) +44
System.IO.StreamWriter.CreateFile(String path, Boolean append) +55
System.IO.StreamWriter..ctor(String path, Boolean append, Encoding
encoding, Int32 bufferSize) +49
System.IO.StreamWriter..ctor(String path, Boolean append, Encoding
encoding) +20
System.Web.Compilation.PreservedAssemblyEntry.WritePreservedSpecialFilesComb
inedHash(Int64 hash) +165
System.Web.Compilation.PreservedAssemblyEntry.DoFirstTimeInit(HttpContext
context) +848
System.Web.Compilation.PreservedAssemblyEntry.EnsureFirstTimeInit(HttpContex
t context) +98
System.Web.Compilation.PreservedAssemblyEntry.GetPreservedAssemblyEntry(Http
Context context, String virtualPath, Boolean fApplicationFile) +28
System.Web.UI.TemplateParser.GetParserCacheItemFromPreservedCompilation()
+91
System.Web.UI.TemplateParser.GetParserCacheItemInternal(Boolean
fCreateIfNotFound) +148
System.Web.UI.TemplateParser.GetParserCacheItemWithNewConfigPath() +125
System.Web.UI.TemplateParser.GetParserCacheItem() +87
System.Web.UI.ApplicationFileParser.GetCompiledApplicationType(String
inputFile, HttpContext context, ApplicationFileParser& parser) +171
System.Web.HttpApplicationFactory.CompileApplication(HttpContext context)
+43
System.Web.HttpApplicationFactory.Init(HttpContext context) +485
System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext
context) +170
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +414

--------------------------------------------------------------------------
--
----

Version Information: Microsoft .NET Framework Version:1.1.4322.573; ASP.NET
Version:1.1.4322.573

message news:%[email protected]... 80. the
bin. file
and
 
Back
Top