> Hi, > > I am trying to use <runtime> section within the web.config file. However, > the contents of the <runtime> section seem to be ignored. What am i > missing > here? Is <runtime> section not used by web apps? > > Any help is greatly appreciated. > > Thanks, > > Subra > >

this is probably because the dll's are needed for the page compile first.
the compiler references are specified in the <assemblies> section (which
asp.net passes to the compiler thru switches when it spawns it).
unfortunately you can only specify the name in the <assemblies> section, not
the path, as this is specified with the compiler lib switch.

-- bruce (sqlwork.com)
"Subra Mallampalli" <su**********************@newsgroups.nospam> wrote in
message news:%2****************@TK2MSFTNGP11.phx.gbl...
| Hi,
|
| I am trying to use <runtime> section within the web.config file. However,
| the contents of the <runtime> section seem to be ignored. What am i
missing
| here? Is <runtime> section not used by web apps?
|
| Any help is greatly appreciated.
|
| Thanks,
|
| Subra
|
|

"If the assembly has a strong name, the codebase setting
can be anywhere on the local intranet or the Internet.
If the assembly is a private assembly, the codebase
setting must be a path relative to the application's directory."

and, it also specifies that :

"This element can be used in the application configuration file,
machine configuration file (machine.config), and the publisher
policy file."

Putting <probing privatePath="bin"/> in the configuration file
causes the runtime to search for assemblies in
C:\Inetpub\Wwwroot\Webapps\StockCalc\Bin
as well as C:\Inetpub\Wwwroot\Webapps\StockCalc."

The path "C:\Inetpub\Wwwroot\Webapps\StockCalc\Bin"
strongly suggests that a web application is using the <probing>
element to locate an assembly.

I confess I'm not an expert in this field, but the implications
of the statements in that page are very strong in favor of
web applications being able to use the <runtime>
configuration section of web.config.

If I'm being misled by these documents,
I'm ready to hear otherwise, though.

this is probably because the dll's are needed for the page compile first. the compiler references are specified in the <assemblies> section (which asp.net passes to the compiler thru switches when it spawns it). unfortunately you can only specify the name in the <assemblies> section, not the path, as this is specified with the compiler lib switch.

-- bruce (sqlwork.com)
"Subra Mallampalli" <su**********************@newsgroups.nospam> wrote in message news:%2****************@TK2MSFTNGP11.phx.gbl... | Hi, | | I am trying to use <runtime> section within the web.config file. However, | the contents of the <runtime> section seem to be ignored. What am i missing | here? Is <runtime> section not used by web apps? | | Any help is greatly appreciated. | | Thanks, | | Subra | |

It would seem thathttp://msdn.microsoft.com/library/de...ry/en-us/cpgen ref/html/gngrfCodeBase.asp implies that the codebase *can* be used by web applications, since that page specifies that: "If the assembly has a strong name, the codebase setting can be anywhere on the local intranet or the Internet. If the assembly is a private assembly, the codebase setting must be a path relative to the application's directory."

and, it also specifies that :

"This element can be used in the application configuration file, machine configuration file (machine.config), and the publisher policy file."

Putting <probing privatePath="bin"/> in the configuration file causes the runtime to search for assemblies in C:\Inetpub\Wwwroot\Webapps\StockCalc\Bin as well as C:\Inetpub\Wwwroot\Webapps\StockCalc." The path "C:\Inetpub\Wwwroot\Webapps\StockCalc\Bin" strongly suggests that a web application is using the <probing> element to locate an assembly. I confess I'm not an expert in this field, but the implications of the statements in that page are very strong in favor of web applications being able to use the <runtime> configuration section of web.config. If I'm being misled by these documents, I'm ready to hear otherwise, though. Juan T. Llibre ASP.NET MVP =========== "bruce barker" <no***********@safeco.com> wrote in message news:%2****************@TK2MSFTNGP10.phx.gbl...

no its not.

this is probably because the dll's are needed for the page compile first. the compiler references are specified in the <assemblies> section (which asp.net passes to the compiler thru switches when it spawns it). unfortunately you can only specify the name in the <assemblies> section, not the path, as this is specified with the compiler lib switch. -- bruce (sqlwork.com)

"Subra Mallampalli" <su**********************@newsgroups.nospam> wrote in message news:%2****************@TK2MSFTNGP11.phx.gbl... | Hi, | | I am trying to use <runtime> section within the web.config file. However, | the contents of the <runtime> section seem to be ignored. What am i missing | here? Is <runtime> section not used by web apps? | | Any help is greatly appreciated. | | Thanks, | | Subra | |

Thanks! the Assembly directive was the piece I was missing. I was thinking
that the framework would automatically probe all the folders specified in
<probing> and try to load the type, but it seems that it doesn't do that.

If I were to specify the full type for the inherits attribute of the page
directive (Inhertis="FooNamespace.FooWebForm, FooAssemblyName"), it works
like a charm. With this change, I dont need the assembly or the imports
directives (we use XSL transforms and our aspx pages have no code).

However the <runtime> tag is effective only in the web.config file in the
application folder (and not in the subfolders). So, if i want to maintain
sub applications in subfolders with their own bin folders, I will have to
modify the root web.config file to include details about every subfolder.

Also, it is not clear to me if a dll change in one of the probing folders
would automatically reload the entire web application.

Yes, what you can do is specify another subdir to probe for assemblies,
ie: <configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <probing privatePath="Foo/bin" /> </assemblyBinding> </runtime> <configuration>

If the codebehind for an ASPX file is compiled into the assembly in
Foo/bin, the @ Assembly directive can be used to link the two:

It would seem thathttp://msdn.microsoft.com/library/de...ry/en-us/cpgen ref/html/gngrfCodeBase.asp implies that the codebase *can* be used by web applications, since that page specifies that: "If the assembly has a strong name, the codebase setting can be anywhere on the local intranet or the Internet. If the assembly is a private assembly, the codebase setting must be a path relative to the application's directory."

and, it also specifies that :

"This element can be used in the application configuration file, machine configuration file (machine.config), and the publisher policy file."

Putting <probing privatePath="bin"/> in the configuration file causes the runtime to search for assemblies in C:\Inetpub\Wwwroot\Webapps\StockCalc\Bin as well as C:\Inetpub\Wwwroot\Webapps\StockCalc." The path "C:\Inetpub\Wwwroot\Webapps\StockCalc\Bin" strongly suggests that a web application is using the <probing> element to locate an assembly. I confess I'm not an expert in this field, but the implications of the statements in that page are very strong in favor of web applications being able to use the <runtime> configuration section of web.config. If I'm being misled by these documents, I'm ready to hear otherwise, though. Juan T. Llibre ASP.NET MVP =========== "bruce barker" <no***********@safeco.com> wrote in message news:%2****************@TK2MSFTNGP10.phx.gbl...

no its not.

this is probably because the dll's are needed for the page compile first. the compiler references are specified in the <assemblies> section (which asp.net passes to the compiler thru switches when it spawns it). unfortunately you can only specify the name in the <assemblies> section, not the path, as this is specified with the compiler lib switch. -- bruce (sqlwork.com)

"Subra Mallampalli" <su**********************@newsgroups.nospam> wrote in message news:%2****************@TK2MSFTNGP11.phx.gbl... | Hi, | | I am trying to use <runtime> section within the web.config file. However, | the contents of the <runtime> section seem to be ignored. What am i missing | here? Is <runtime> section not used by web apps? | | Any help is greatly appreciated. | | Thanks, | | Subra | |

As for the last question (does a overwriting an assembly in the probing folder
reload the app?) - I'm not sure. My guess is no.

I'm pretty sure the runtime won't even shadow copy these assemblies because
only the bin directory is setup for shadow copy. You might not be able to
overwrite those assemblies without an iisreset. Not 100% sure on this however
- would need to verify with an experiment.

Thanks! the Assembly directive was the piece I was missing. I was thinking that the framework would automatically probe all the folders specified in <probing> and try to load the type, but it seems that it doesn't do that.

If I were to specify the full type for the inherits attribute of the page directive (Inhertis="FooNamespace.FooWebForm, FooAssemblyName"), it works like a charm. With this change, I dont need the assembly or the imports directives (we use XSL transforms and our aspx pages have no code).

However the <runtime> tag is effective only in the web.config file in the application folder (and not in the subfolders). So, if i want to maintain sub applications in subfolders with their own bin folders, I will have to modify the root web.config file to include details about every subfolder.

Also, it is not clear to me if a dll change in one of the probing folders would automatically reload the entire web application.

Yes, what you can do is specify another subdir to probe for assemblies,

ie:

<configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <probing privatePath="Foo/bin" /> </assemblyBinding> </runtime> <configuration> If the codebehind for an ASPX file is compiled into the assembly in

It would seem thathttp://msdn.microsoft.com/library/de...rary/en-us/cpg en ref/html/gngrfCodeBase.asp implies that the codebase *can* be used by web applications, since that page specifies that: "If the assembly has a strong name, the codebase setting can be anywhere on the local intranet or the Internet. If the assembly is a private assembly, the codebase setting must be a path relative to the application's directory." and, it also specifies that :

"This element can be used in the application configuration file, machine configuration file (machine.config), and the publisher policy file."

Putting <probing privatePath="bin"/> in the configuration file causes the runtime to search for assemblies in C:\Inetpub\Wwwroot\Webapps\StockCalc\Bin as well as C:\Inetpub\Wwwroot\Webapps\StockCalc." The path "C:\Inetpub\Wwwroot\Webapps\StockCalc\Bin" strongly suggests that a web application is using the <probing> element to locate an assembly. I confess I'm not an expert in this field, but the implications of the statements in that page are very strong in favor of web applications being able to use the <runtime> configuration section of web.config. If I'm being misled by these documents, I'm ready to hear otherwise, though. Juan T. Llibre ASP.NET MVP =========== "bruce barker" <no***********@safeco.com> wrote in message news:%2****************@TK2MSFTNGP10.phx.gbl... no its not.

this is probably because the dll's are needed for the page compile first. the compiler references are specified in the <assemblies> section (which asp.net passes to the compiler thru switches when it spawns it). unfortunately you can only specify the name in the <assemblies> section, not the path, as this is specified with the compiler lib switch. -- bruce (sqlwork.com) "Subra Mallampalli" <su**********************@newsgroups.nospam> wrote in message news:%2****************@TK2MSFTNGP11.phx.gbl... | Hi, | | I am trying to use <runtime> section within the web.config file. However, | the contents of the <runtime> section seem to be ignored. What am i missing | here? Is <runtime> section not used by web apps? | | Any help is greatly appreciated. | | Thanks, | | Subra | |