-
Notifications
You must be signed in to change notification settings - Fork 311
[Announcement] Change to IIS hosting model #364
Comments
I have a server that is Windows 2008 Web Server, not R2. Does this mean I won't be able to run ASP.NET 5 on my server? |
@joeaudette ASP.NET 5 was never supported on Windows Server 2008. The minimum requirement was always Windows Server 2008 R2. |
I guess I understand that but it is a real bummer for me as it is the only server I have. I'm working on a new open source project for asp.net 5 and now I have nowhere to host it. |
azure |
yeah but Azure/SqlAzure is kind of expensive for me especially vs a free server that I already have, and especially for an open source project that isn't making me money. |
I'm not entirely sure about the whole plus story here, but this seems like a big step backwards to me. A few downsides and questions I can see:
|
why Microsoft.AspNet.Server.WebListener server is still an option? I'm just curious. |
Does the removal of Let's say for a minute that I want to do the static file serving from IIS. Is it possible? If yes, previously I could configure MIME types, compression, etc. from |
Can we at least have the sources for Helios for those who still want to use it? The reasons given for dropping support sound reasonable, but I kind of agree with @tomasr that there are also downsides, particularly in this early phase of vNext where tooling doesn't have the same level of maturity as tooling that has been around for IIS for a while. That's also not to mention performance impacts @DamianEdwards mentioned, but also downplayed. Maybe dotnet/aspnetcore#58 should be revisited? |
So is w3wp.exe totally out of the picture? We have a large number of tuning/performance settings configured for our application pools such as recycling, logging recycle events, CPU limit, idle time out, etc. Do these get flowed to the new model or are those unsupported? What about all the tools, including Microsoft's own such as SCOM APM and DebugDiag. Will those support this new model or will they need significant upgrades? |
its just an IIS module that will create a process and proxy requests to said process. I'd assume all of that still needs to run in an app pool as its an IIS module, so its more than likely that app pool recycling will work. |
@joeaudette Can you use azure for hosting? |
@aggieben Nope, Helios isn't open source and it won't be. You could always write a native IIS module from scratch but I'd recommend against it. |
@jods4 |
@davidfowl I'm going to consider Azure/SqlAzure but I'm worried about the costs. |
Cool, but what about IIS7? Isn't it possible to host aspnet apps under IIS7 on Win7 anymore? |
I'm actually a huge fan of these changes. The big reason I like this, is that it simplifies the hosting model between OS's Most likely people hosting DNX in linux will (most likely) proxy the requests through something like Nginx, so I'm glad to see the same idea being implemented in IIS. This lets all the platforms be equal, and not have Windows seem like a first class citizen. |
@davidfowl OK thanks. That's important because it's a lot easier to ship an application to a customer and say "just copy those files over" rather than try to explain them how to configure IIS, which -- although they're supposed to be the server admin -- they are often somehow unable to do properly. I assume web sockets go through cross-process as well? |
@jods4 websockets flow across the process just fine |
@evil-shrike Windows 7 has IIS 7.5, not IIS 7. We require IIS 7.5 as a minimum and the HttpPlatformHandler is being updated to support running on IIS 7.5 |
@Bartmax WebListener is based on HTTP.SYS which has some unique features that certain customers desire that can't be achieved otherwise, e.g. multiple apps listening on a single port. It also serves as the out-of-band replacement for |
@JaredShaver That all continues to work. IIS app pool management works the same way it did. The http platform handler uses windows job objects to keep track of child processes. |
@davidfowl thanks for the clarification. @DamianEdwards might want to update the announcement with how this will flow to avoid some IIS administrators being confused. |
@DamianEdwards thank you for the detailed response. I like very much the decision taken here. 👍 |
|
|
First number is Process Id, Second number is port so try: http://localhost:26101/Index.htm |
http://localhost:26101/WebApplication1/Index.htm gives a 404 |
K, so the issue is likely the path mapping as IIS is passing the full path and your app doesn't have anything there. You can rewrite it with IIS; change your apps routing path; I think give the app a base path, or you can change the application binding to be the website root; rather than a subdirectory. |
So, its a problem of how the app is being deployed? |
You are sending your app urls that are:
I'm not sure what your intentions are, so I can't tell you. Do you want the app to be straight off the domain |
Yes, I understand that. I want it off the subdirectory. Anyway that's a minor fix. Thanks for all your help and time!!! |
@wgrs this might help aspnet/IISIntegration#14 |
Great that looks like the answer = thanks again. |
@benaadams - I tried the fix from the link above but it did not work for me. Until that version is released you can add HTTP_PLATFORM_APPL_PATH to the environment variables section of the httpPlatform web.config with a value like /MySubApplication. The ports for the dnx.exe are dynamically assigned and there are multiple instances running, so how do I know which one to use? |
FYI: HttpPlatformHandler is being replaced by AspNetCoreModule: aspnet/IISIntegration#105 |
Sorry, maybe someone knows why the first launch of the site takes a lot of time? Is the replacing HttpPlatformHandler help resolve this problem? |
@sergeos I assume a number of perf improvements have been made between rc1-final released back in November and rc2-nightly wrt JIT (guessing, of course, since I haven't compared those two app types directly). If you do move the app into rc2-nightly format and start using the new module, I noticed startup times were roughly cut in half for shared (portable) apps (less JIT) over standalone (self-contained) apps (more JIT). My figures for a small test app were roughly 20 seconds for the standalone app and <10 seconds for the shared version of an identical app. I would guess though that as the dependency list gets longer, apps will converge on startup times with shared always being faster but with a declining margin of bonus speed. Any difference should ultimately (mostly) be removed when standalone apps get a native compilation option. |
@sergeos Maybe not the best place for this . As far as i know ASP.NET Core doesn't build anything anymore. MSIL is know only produced when webpages are accessed for the first time (weither this is MVC or not ) . To force il code generation you can tr y to use CLI "dnu publish" .Note that this is only viable for RC1 , dnu will be removed for RC2 . Can somebody confirme my statement ? |
@kuashe I think that's a fair ? here tho: Is this more of a hosting prob or an app prob ... it's really more of an app prob. The two modules are just handling reverse proxy and given that the [EDIT] @ArieJones says on JabbR that EF6 bits on rc1 can also cause long compilation times of views. He implies you might get a faster app startup if you can move to EF7. |
I saw this post by you back in 2015. Is this still the case? I noticed Client Certificate is not getting passed to my app in Azure Web App. |
@xavierjohn We no longer use HttpPlatformHandler, we use AspNetCoreModule (a fork), and yes it does have client cert support. |
We periodically close 'discussion' issues that have not been updated in a long period of time. We apologize if this causes any inconvenience. We ask that if you are still encountering an issue, please log a new issue with updated information and we will investigate. |
Discussions for aspnet/Announcements#69
The text was updated successfully, but these errors were encountered: