I have SharePoint Project which deploy as Farm Solution. I have multiple Web Application (SPWebApplication) in SharePoint. Each Web Application has dedicated application pool. I want to know if I deploy project as Farm Solution then all application pool recycles or particular one application pool will recycle ?
Only the application pool of your SharePoint project will recycle. Note that you define the site url in properties window of your project. Then when you deploy the project note that in "Output" window, you can see:
Recycle IIS Application Pool:
Recycling IIS application pool '<application pool name>'...
So just the application pool related to your site url will recycle.
Your farm solution can be deployed to multiple web applications. If that is the case then all web applications where the solution is deployed will recycle.
It's also important that you specify the -WebApplication parameter in your Install-SPSolution and Uninstall-SPSolution scripts, as they might otherwise recycle all web applications.
Related
Currently we have 4 separate IIS servers all running behind an HA Proxy load balancer. With Traditional ASP .Net, we've been taking a web deploy package and loading them to the first server, and then just using MSDeploy to sync all of the servers to the first. Almost all of our deploys are virtual directories, not web sites. And those virtual directories are assigned to an established app pool. This has been working well for some time now. For those rare times where we need to create a new application pool, we log into each web server independently and create the app pool. These app pools run a specific set of credentials.
With an ASP .Net core app, it seems there are 2 different issues now to address:
Since Kestrel fires up, how do we get the kestrel part of the
virtual directories to shut off so we can sync the servers up. We
really don't want to have to log into each server independently to
shut them down.
It seems that the preferred method is to create
an individual app pool for every ASP .Net Core app. In our case, on
our current environment, if everybody started rewriting their apps
in ASP .Net Core, we've have about 200 app pools (and growing). It
isn't possible for one giant app with all of the virtual directories
in it. They are managed by different teams. So is there a way to
sync the app pools (with a specific set of credentials) across
servers in a farm?
Thanks,
Nick
I have an MVC 3 application and WCF service to be deployed in IIS 8.5 installed on Windows Server. I have checked all the prerequisites installed for IIS 8.5. After the deployment when I try to access the .svc files, I get "This page can't be displayed".
The have verified the below conditions.
APP POOL:
1.) The app pool is set to "Integrated" mode and targetted to V4.0.
2.) Identity is set to "ApplicationPoolIdentity" and enabled 32 bit
applications.
BINDINGS:
1.) Provided a different port"88" and ip address is configured.
PERMISSIONS:
1.) Full access has been provided for the below mentioned users.
a.) IUSR
b.) IIS_IUSRS
c.) DefaultAppPool(This is the app pool that has
been assigned).
I am struck with this, Please let me know for anything that needs to be included.
Do you have HTTP Activation checked for WCF Service under IIS features. If not you need to enable that from server manager add roles/features wizard. Please refer to the image attached.
Its a newbie question, and I have just been learning WCF.
Can we change the service.config file of a WCF service on the fly without restarting the App Pool or doing the deployment?
Regards,
Bhavik
No, IIS will automatically detect the change to the config file and recycle the app pool automatically for you. So in a sense, the app pool does have to be recycled, but it handles it for you.
If you're hosting your services in IIS and you change the web.config file, the app pool will automatically recycle.
I'm currently hosting a WCF service on an IIS 7.5.
Problem is I need to save data for the duration of the session (using static members) but the AppPool recycle keeps deleting all the cached data.
For my understanding my only solution is to self host the service.
I have no clue on how to do that and what are the pros and cons.
is this really my only option?
UPDATE
Looks like there was a different problem.
I changed hosting from IIS to self-hosting on a console application and I found a bug that was crashing the app. I'm guessing this was the reason for the loss of data and not the app pool recycling...
That does not seem like a good reason to migrate from IIS to Windows service . why not to disable app Pool recycling by
Idle Time-out(minutes) = 0
"Regular time Interval(minutes)" = 0
so it will never recycle
Also
Disable Recycling for configuration Changes = true
these settings live in advanced settings of AppPool
Update: how about
"Disable Overlapped Recycle" = true
AppPool Recycle settings
If this is the problem, I think you are storing the cache in memory. We can store the store the cache in disk,database or any your customized location. so there is no need move your application from IIS to self-host.
http://weblogs.asp.net/scottgu/archive/2010/01/27/extensible-output-caching-with-asp-net-4-vs-2010-and-net-4-0-series.aspx
If I run a WCF application which exposes a service in visual studio, is it possible to consume the service from an asp.net application running on another computer? How can I determine the address of the WSDL published by the WCF service in order to add a reference to it in the ASP.NET application?
If your service is an ASP.NET application and you are hosting it with the built-in development server, refer to Kalus's answer. However, if you have IIS installed locally, you can reconfigure your project settings so that the application is hosted by IIS for debugging instead of the built-in development server.
If you are writing a standalone WinForms or Console application, then the responsibility will be on you to select an endpoint and binding, whereas with an ASP.NET application, those parameters will come from IIS or the Dev server (the protocol will always be HTTP/HTTPS, and the port number will be set by IIS or randomly generated by the Dev server). So in a standalone application, you will have to configure which binding (basicHttp, wsHttp, netTcp, etc.) and an appropriate hosting endpoint (http://hostname/MyService or net.tcp://hostname:port/MyService). But yes, if the service is hosted by a standalone application, it will be accessible from other computers.
Refer to this overview here: http://msdn.microsoft.com/en-us/library/ms731758.aspx
According to #Kent Boogart's comment below, the asp.net development server can only be used for local requests. So you will need to configure your web service to run in IIS if you want to call it from another machine.