ASPHostCentral.com ASP.NET and Windows Hosting BLOG

All about ASP.NET 4.5 Hosting, ASP.NET 4 Hosting, ASP.NET MVC 4.0 Hosting, Sharepoint 2013 Hosting, and all Windows 2012 Hosting articles

WebMatrix 3 Hosting with ASPHostCentral.com

clock April 28, 2013 16:30 by author Administrator

ASPHostCentral.com offers the latest WebMatrix 3 hosting service to all our new and existing customers.           

You can always start with our Standard Plan (from @$4.49/month) to deploy WebMatrix 3 applications to our server. Should your requirement changes in the future, you can always request for an upgrade without causing any downtime. Remember, everything is just one-click away from your mouse! So, why wait longer?

What is WebMatrix?

WebMatrix is a free, lightweight, cloud-connected web development tool.

Designed for Top Languages

Create websites using our ASP.NET, PHP, Node.js, or HTML5 templates, and take advantage of the latest web standards, emerging standards(CSS3, HTML5), and popular JavaScript libraries such as JQuery

Your Companion for the Cloud

When you create local projects, you’ll be able to instantly get a companion website in Windows Azure without ever leaving WebMatrix. Using the Publish button, you can easily keep these sites in sync and save your changes to the cloud

Source Control with Git

Plug into GitHub, CodePlex, and Team Foundation Service to start sharing your code with the world. Whether you’re a newcomer to git, or a seasoned pro, you’ll find all of the features you would expect in a powerful but easy to use too

Remote Site Editing

Simply open your remote sites, make changes, and hit Save. The lightweight performance and full editing capability (including intellisense) make it feels like you are editing a local site!

Optimized for Open Source

Install popular web apps with a few clicks, customize them easily with app-specific code completion, and publish them quickly to the web.

Designed for Mobile

Optimize your websites for mobile browsing with built-in templates, device emulators and code completion for JQuery mobile

Source Control with TFS

Team Foundation Service is Microsoft’s hot new source control service in the cloud. WebMatrix 3 makes it simple and fun to work with your code using TFS for any project in the cloud, or on site.

Extended by the Community

Want an iPhone simulator or power tools for Node.js? Find extensions that add even more functionality to WebMatrix, or create your own




Important Things to Consider Before Using Session State

clock January 24, 2013 19:02 by author Administrator

So this question comes up all the time: “Where should I keep my shopping cart data for my application?” The common knee-jerk response is “use session state”. I find this to typically be the wrong answer if you want to build a resilient and scalable application.

Session state was originally meant for this kind of data (user provided data like a shopping cart). One thing session is not meant for is caching of user profile data. Back in classic ASP there were not a lot of other caching per-user data, so session was the obvious choice, but in ASP.NET (and just .NET in general) there are so many better options. One such example is the data cache in ASP.NET. With the data cache you specifically code to deal with failure (the cache item might not be present) and you can also set very specific conditions per cache item designating how long you’d like the cache the item. The data cache is very useful for a place to store data when you want to avoid round trips tot he database. But why not use session? Wouldn’t be essentially the same since it is also stored in-memory? Read on…

So back to session state as a place to store user driven data (i.e. shopping cart)… Session state is stored in-memory by default. This is a horrible option if you want to remember data for your users. In ASP.NET the hosting application pool frequently recycles and this is typically out of your control. This means that all that in-memory state is lost, which is why using session state in-proc is a bad choice. If you’re going to the effort to keep this data for the users, you simply can’t rely upon in-memory state — think shopping cart which equates to making sales on your website or simply the frustration of your users when all their data is lost and you have to make them start all of their shopping over again.

As an alternative you can store your session out-of-proc (in the ASP.NET State Service which is a windows service or in SQL Server or in a custom store). This certainly makes the state more resilient, but there is a cost to this resiliency. Each HTTP request into the application means that your application must make 2 extra network requests to the out-of-proc store — one to load session before the request is processed and another to store the session back after the request is done processing. This is a fairly heavy-weight request as well because the state being loaded is the entire state for the user for the entire application. In other words if you have ten pages in your application and each one puts a little bit of data into session, when you visit “page1
then you’re loading all of the session data for “page1, “page2, “page3, etc. By the way, these extra network requests happen on every page even if you’re not using session on the page. There are some optimizations (EnableSessionState on the Page and SessionStateAttribute for MVC), but they don’t solve the problem entirely because the network request must happen to update the store to let it know the user is still active so that it doesn’t cleanup inactive sessions.

So back to caching briefly: this is why we prefer to use the data cache for caching and not session. If you’re using session for any user generated data, then you can’t keep it in-proc and you should keep it out-of-proc and once it’s out-of-proc then that defeats the purpose of caching. The data cache is for read-only data that can be reloaded from the original data source when the cache expires and session is meant for user driven data like shopping carts. Except session has all these problems…

So what to do for our shopping cart data? Here’s what I suggest: 1) explicitly disable session in your application’s web.config (it’s enabled by default in the machine-wide web.config), 2) keep the user data elsewhere. Elsewhere might mean in a cookie, in a hidden field, in the query string, in web storage or in the database (relational or NoSQL). Which one’s the right answer? As always, it depends. For shopping cart like data, I’d probably use the database. I’d create a custom “shopping cart” table and as users add items then you make network call to update the database. Once the user places the order then you’d clear out rows for the user’s shopping cart. As for the key in the shopping cart table you can simply use the user’s unique authentication username from User.Identity.Name.

So the complaints about my conclusion are: 1) effort, 2) network calls, 3) abandoned shopping carts and 4) what about anonymous users.

1) Some people complain that this is too much work. I’m sorry to inform you that programming is hard. Get over it. And to be honest, it’s not that hard with the modern ORMs we have of if you’re using a NoSQL database then it’s even easier. Also, this database doesn’t have to be your main production database — it could just be a database that’s for the webserver.

2) What about all these network calls? Well, if you were using session then in-proc was a non-starter and you were going to have to keep this data out-of-proc. So you were already going to incur heavy-weight network calls. With this approach only the pages that need the shopping cart data incur the network calls and the pages that don’t need the shopping cart data won’t have this burden imposed upon them. This is already better than out-of-proc session.

3) With this approach you will need to have some way to periodically cleanup abandoned shopping carts. Sure, but the application is still better off for the effort. Also, this assumes that you do want to get rid of the data, but think about amazon — they don’t ever want to get rid of shopping cart data. That data is potential sales (they remind you on every visit that you forgot to give them your money) and it’s probably useful for data mining. So maybe keeping this data is a good thing.

4) I suggest that you should use the authenticated user’s username for the key in the shopping cart table. Well, what about anonymous users? Part of the Session feature is that there is a “Session ID” associated with the user and this is sometimes quite useful. It is, but not at the expense of at of the other parts of session. So what to do? Well, there’s a little known feature in ASP.NET called the Anonymous Identification Module. This is a HttpModule whose sole purpose is to track anonymous users with an ID. If you enable this feature, then it issues a cookie with a unique ID per anonymous users. You can then access that ID in your code via Request.AnonymousID.

One last reason session is problematic: concurrent requests. Access to session (by default) is exclusive. This means that if your page makes 2 Ajax calls back to the server, ASP.NET forces one to wait while the other executes because each request is taking locks on the session. This really hampers scalability if not responsiveness. Also, with some of the new HTML5 features like Server Sent events that hold long-lived connections to the server then this can lock a user out of the server if they try to make a request at the same time.

So beware anytime someone says “use session state — it’s easy”. If something’s easy then you’re making a tradeoff. Realize what you’re trading off and just take a minute to think about a better way to store the data. Your application will be better off.



Cheap SharePoint 2013 Hosting with ASPHostCentral.com

clock January 14, 2013 16:39 by author Administrator

SharePoint 2013 is the latest version of one of the most successful enterprise collaboration software from Microsoft with more than 100 million licenses sold. SharePoint 2013 comes in three versions - Foundation, Standard, and Enterprise. ASPHostCentral.com currently offers these versions in shared hosting versions only. We also host older versions of SharePoint. We offer SharePoint 2013 hosting service from just as low as $9.99/month only.

Who uses SharePoint?


SharePoint can be used by any group that requires online access to data, information, applications, and analytical and reporting tools. With easy ability to limit access to users, a SharePoint site can be internet facing to all users, limited to internal users or open to selected outsiders.

Installed and managed by an expert hosting provider such as ASPHostCentral.com, hosted SharePoint 2013 requires no technical expertise and can be easily managed by a typical business user through a user friendly and familiar interface common to Microsoft business software.

With such a low cost entry point and ease of use of its hosted SharePoint solutions, ASPHostCentral.com's SharePoint customers include firms providing professional services (doctors, lawyers, contractors, consultants), small businesses (retailers, specialized tradesmen), non-profits (educational institutions, condo associations, church groups, charity organizations, trade groups, etc.).

However, SharePoint comes with deep functionality and scalability that explains its wide acceptance in large enterprises at departmental, division, or global level. As these solutions become complex and large, organizations use ASPHostCentral.com's SharePoint solutions in dedicated or farm modes that provide better control, customization and scalability.  

Benefits of SharePoint 2013


Microsoft SharePoint can be a private intranet site, a data repository, a smart website, a built-in content management system, a development platform, an extranet site, a collection of websites, best-in-class portal software, a document management system, a project management system, a workflow designer, and more. You can collaborate, communicate, gather decision-making reports and data from multiple resources and publish those online, make visually presentable reports, create and view intuitive and real-time dashboards, do customizations, import theme templates, and do more with your SharePoint site.  

Improvements in Microsoft SharePoint 2013


SharePoint 2013 is here and that too with some interesting features for SharePoint lovers. SharePoint Apps is one such feature. SharePoint Apps are separate web applications that will offer you ready-to-use websites which are quick to set up, manage, use, upgrade, and remove. ASPHostCentral.com will offer you with an apps catalog with a bunch of apps that will suit your needs suiting your needs. Some other interesting new features include a new website content management system with a simplified design and content reuse, an integrate Fast Search for potential scalability and enterprise search, a social platform influenced by Twitter and Facebook, fancy new workflow designer and overhauled workflow infrastructure inside SharePoint Designer 2013, a much more powerful Business Connectivity Services with support for the new eventing framework and OData data sources, enhanced mobile devices viewing experience for all major tablet platforms and smartphones, and more.  

Why choose ASPHostCentral.com for SharePoint 2013 Hosting?


Wide Range of Options: ASPHostCentral.com offers a gamut of SharePoint versions in various modes such as hosted, dedicated, and farm clusters that are ready-to-go.

Simple Terms: ASPHostCentral.com has no long term contracts, online purchase, signup, and management through a user friendly control panel.

Cost Savings: With its specialization in SharePoint, ASPHostCentral.com can spread the high cost of expert SharePoint staff over its large client base, and offer cost effective SharePoint solutions.

Quick Setup: Signup in minutes for hosted SharePoint plans and within hours on the shared server plans.

World-class SharePoint Infrastructure: ASPHostCentral.com’s SharePoint infrastructure is located in reliable US based data centers with SAS 70 certifications.

Backups & Recovery: With regular backups, client data is safe with ASPHostCentral.com. When needed, clients can request restore their SharePoint sites from the backups.

Reliability: ASPHostCentral.com has built its infrastructure, systems, and processes to deliver 99.9 percent reliability of the SharePoint services.

24/7 Support: ASPHostCentral.com has a team of technical and sales support experts available 24/7.



Important SharePoint 2013 Download Links

clock January 8, 2013 19:22 by author Administrator

The final(RTM )release of SharePoint 2013 is now available on Microsoft Website for download.  The following are important things about SharePoint 2013:

SharePoint 2013 Hosting:

If you are looking for a host that supports SharePoint 2013, you can take a look at ASPHostCentral.com


Free Software:

Microsoft SharePoint Foundation 2013 (~ 816 MB) –
Download Link
Microsoft SharePoint Designer 2013 – 32bit (~ 282 MB) – Download Link
Microsoft SharePoint Designer 2013 – 64bit (~ 324 MB) – Download Link
Microsoft Office Web Apps Server 2013 (~ 386 MB) – Download Link
Office Developer Tools for Visual Studio 2012 (Non-RTM / Preview 2) | Installer Link | Announcement News on 12-Nov-2012

Trial/Evaluation Software:

Microsoft SharePoint Server 2013 (180 days Evaluation) –
via TechNet |Product Key: NQTMW-K63MQ-39G6H-B2CH9-FRDWJ
Microsoft SharePoint Server 2013 (by using Office 365 Developer trial, you need not setup environment) -
via MSDN

Licensed Software:

Microsoft SharePoint Server 2013 – (available to
MSDN Subscribers)

Pre-RTM Versions:


Microsoft SharePoint Server 2013 Preview (
Evaluation Version link / Product Key: 6RNT8-XV26M-GWH36-VMGQH-94MMH)

Microsoft SharePoint Foundation 2013 Preview (~ 947 MB) –
Download Link



Microsoft Emphasizes Cloud-First with SharePoint 2013 Hosting

clock December 20, 2012 17:18 by author Administrator

As Microsoft showcased its new SharePoint 2013 and the SharePoint online upgrades to its Office 365 service this week, it raises the question of how far organizations are willing to go to phase out their premises-based software in favor of shifting everyday work to a service-based model.

That's not to suggest that organizations will or should scrap their SharePoint deployments in favor of Office 365 or some other instantiation of Microsoft's collaboration platform that's subscription-based or hosted elsewhere. It's not an either/or proposition. But Microsoft left little doubt it wants you to gravitate to the SharePoint Online component of its Office 365 service.

"We really recommend moving to the cloud for the best experience overall," said John Teper, the Microsoft corporate vice president known as the "father of SharePoint," speaking in his opening keynote at the annual SharePoint Conference in Las Vegas Monday. "We understand not everyone is there yet. This will take time. People who want to run their own servers, that's great. We have the best server release we've ever done in SharePoint 2013. The thing you should take away from our cloud focus is all we've learned about optimizing the system and deployment and monitoring, we've put into the server product and put into the deployment guidance."

SharePoint 2013's "Cloud-First" model follows in the footsteps of Microsoft's promise that it will deliver infrastructure software and applications as a cloud service first or simultaneously with the release of the on-premise version of its key products. That came to life with last year's CRM Online Dynamics CRM duo. Now Microsoft is employing the same approach with the latest version of SharePoint Online in the Office 365 service and SharePoint 2013.

One of many distinctive new cloud features in SharePoint 2013 and SharePoint Online is the new SkyDrive Pro, an evolution of the SharePoint Workspace. SkyDrive Pro raises the bar in synchronizing content between SharePoint Sites and workers' various devices. SkyDrive Pro is modeled after the consumer-based SkyDrive service, except it's built into SharePoint, which allows IT organizations to manage it.

Experts are predicting more rapid than usual uptake for the new release of SharePoint and Office 365, primarily due to the major overhaul of the SharePoint experience, which brings enterprise social networking to the forefront.

A Forrester Research poll of 153 clients who already have SharePoint found 68 percent of respondents planned to introduce the new version within two years (37 percent within the first year and 31 percent within the second). What's interesting about that finding is 70 percent of that sample said they already have upgraded to SharePoint 2010, which is unusual since organizations typically skip subsequent releases to amortize their investments.

"This is conjecture here but it could be around the social experience," said Forrester analyst Rob Koplowitz in an interview. "The feedback on the social facilities in SharePoint 2010 was pretty dismal. That might be the driver but others include the need for improved document and records management. Also, it could be they're trying to move to a more stable development environment."

Speaking of social networking, that's where Yammer comes in, the popular social networking company Microsoft just acquired for $1.2 billion. Microsoft announced it's bundling the popular cloud-based enterprise social networking service, into SharePoint 2013 and Office 365 in addition to offering it as a standalone offering and plans further integration.

In the annals of Microsoft's cloud transition, 2010 will be remembered as the year CEO Steve Ballmer proclaimed the company is "all-in." With the revamp of SharePoint and Office, we may get our biggest sense yet how many Microsoft's customers are all-in.



SharePoint 2013 Hosting :: How to solve error message "Unable to retrieve topology component health states. This may be because the admin component is not up and running"

clock December 16, 2012 13:32 by author Administrator

Sometimes, when you are playing with SharePoint 2013, you will encounter this error message: “Unable to retrieve topology component health states.  This may be because the admin component is not up and running.” You will see this error message on your Central Administration page -> Application Management -> Manage Services on the server -> click on the “SharePoint Search Server”



This article provides resolution on SharePoint 2013 that is installed on Windows Server 2008 R2 SP 1 and SQL Server 2008 R2. The server is not a domain controller or hosting SQL either.
 
To resolve this issue, please download the following fixes on Microsoft website

KB 2554876
KB 2708075
KB 2472264

If after installing the above hotfixes and you still encounter issue, you need to run Windows Update and installing all patches/hotfixes reported as critical.



Once this had been done (and a reboot or two later), the problem will be resolved!

 

The updates in installed are below (so it’s one or more of them?)



BlogEngine.NET 2.7 Hosting with ASPHostCentral.com

clock December 10, 2012 18:18 by author Administrator

ASPHostCentral.com, as a premier Windows and ASP.NET Hosting provider, proudly announces the support of BlogEngine.NET 2.7 hosting service. This newest BlogEngine.NET package is offered from just as low as $4.49/month.

Features of BlogEngine.NET 2.7

The following new features and changes are in version 2.7.

Added option to remove .aspx file extensions in URLs
Added option to turn JS and CSS optimization on/off
Security patches and bug fixes
Upgraded to jQuery 1.8.2
Upgraded to TinyMCE 3.5.7
Improvements to user profile

Upgrading to BlogEngine.NET 2.7

If you are updating from BlogEngine.NET 2.6, there are few changes.  The web.config files have not changed, and the database tables also have not changed.  Most of the instructions below are for those upgrading from 2.5 or earlier.  Even if you are upgrading from 2.6, the recommended path to upgrade is still to start off with a version 2.7, and copy any personal items such as themes back into 2.7.

Recommended Path to Upgrade

The cleanest way to upgrade to v2.7 is to start from a v2.7 installation, and then copy your existing data and settings into v2.7. The upgrade steps follow.

A couple of the steps are related specifically to those who use a database for storage, and a couple are related specifically to those who use the default XML storage (non-database). You can skip the steps that don't pertain to your method of storage.

1.  Backup

Make a full backup of your existing BlogEngine installation.  This is very important.  If anything goes wrong, you can always restore to your backup.

2.  Install v2.7

Install v2.7 on your computer, in a new folder.

3.  Web.config file (for non-database installations)

If you are upgrading from BlogEngine.NET 2.6, there are no changes to the web.config files.

Upgrading from BlogEngine.NET 2.5 or earlier:  As noted above, because of the changes to the web.config files, it is strongly recommended you use the web.config file that is included with v2.6.  If you have any custom settings in your existing web.config files (e.g. appSettings), it will probably be easiest to copy your custom settings into the BlogEngine.NET v2.6 web.config file.  If you have any custom settings, those can be copied into the v2.6 web.config file now.  Otherwise, you can just use the v2.6 web.config file as-is.

4.  Web.config file (for database installations)

If you are upgrading from BlogEngine.NET 2.6, there are no changes to the web.config files.

Upgrading from BlogEngine.NET 2.5 or earlier

If you will be using a Database for data storage, Web.config files you can use are located in the /setup/ folder.  Because of the variety of changes to the web.config files, it is strongly recommended you start from these sample web.config files, and copy your specific connection string into the sample web.config file.  For example, for SQL Server, in the /setup/SQLServer folder is a file named SQLServerWeb.Config.  For MySQL, the file is /setup/MySQL/MySQLWeb.Config, etc.  Copy this file to the blog root, delete the existing Web.config file in the blog root, and then rename this sample config file to Web.config (i.e. rename SQLServerWeb.Config to Web.Config).

At this point, the Web.config file you copied to the blog root and renamed contains a sample DB connection string.  The sample DB connection string will look similar to:

connectionString="Data Source=MySQLServer;User ID=user;Password=password;persist security info=False;initial catalog=BlogEngine;"

Replace this sample connection string with the connection string in your existing Web.config file.

If you have any other specific customizations to your existing Web.config file (e.g. appSettings), add those into this Web.config file.

5.  Database Upgrade Script (for database installations)

If you are upgrading from BlogEngine.NET 2.6, there are no upgrade scripts to run.

Upgrading from BlogEngine.NET 2.5 or earlier:  If you are using a Database to store your data in, you will need to run the DB upgrade script.  Each of the /setup folders has an upgrade script.  For SQL Server, it is MSSQLUpgradeFrom2.5to2.6.sql.  For MySQL, it is MySQLUpgradeFrom2.5To2.6.sql, etc.  Run this script in your existing DB.  If you are upgrading from a version prior to 2.5, you will need to first run the upgrade script(s) to get your DB up to v2.5.  For example, if you are upgrading from v2.0, you will need to first run the 2.0to2.5 script, and after that, run the 2.5to2.6 script.

6.  App_Data folder (for BOTH database and non-database installations)

If you are upgrading from BlogEngine.NET 2.6, there is nothing you need to do with your App_Data files or folders.

Upgrading from BlogEngine.NET 2.5 or earlier

In your v2.7 installation is the App_Data folder.

If you are upgrading from v2.5, delete all of the files and folders in the App_Data folder except these ones which are new in v2.7:

packages.xml
packagefiles.xml

If you are upgrading from a version prior to v2.5, then delete all of the files and folders in App_Data EXCEPT for the following 4 new items which were new items introduced in v2.5 or v2.6 that you do not have in your App_Data folder so you will want to keep these 4 items.

blogs.xml
The blogs directory directly under App_Data.
packages.xml
packagefiles.xml

Once the files/folders have been deleted from the App_Data folder, copy all of your App_Data contents (files/folders) from your existing blog to the App_Data folder.

Note:  This step should still be performed even if you are using a database since even with a database, the App_Data folder is still used for storing certain items such as files, images and some other small miscellaneous files.

7.  Theme folder, Robots.txt & Other Custom Files

If you have a custom theme, copy your custom theme folder into the v2.7 "themes" folder.  Similarly, if you have customized the robots.txt file, or if you have any other custom files/folders, copy those into the v2.7 folder you have been working on.

8.  Deploy to Web Server

Because you will have files on your web server that no longer exist (or have been moved) in v2.7, it is best to delete all of the BlogEngine.NET files and folders on your web server, and then upload the new v2.7 files and folders you prepared in the previous steps.

Please make sure you have a backup of everything you will delete (see step 1).

After you have deleted the BlogEngine.NET files/folder off your web server, upload the v2.7 files and folders you prepared in the previous steps.

9.  Check App_Data folder Write Permissions

If you deleted the App_Data folder in the previous deployment step, you may need to double check that Write permissions are still set on the new App_Data folder you uploaded.  Even if you are using the Database storage option, certain items such as files & images you include in your blog posts are still saved in the App_Data folder.  BlogEngine.NET can only save files in the App_Data folder if Write permissions are enabled for the ASP.NET account.




SharePoint 2013 Hosting :: Setting up your App domain for SharePoint 2013

clock December 9, 2012 13:43 by author Administrator

The most important change in SharePoint 2013 for developers is the introduction of SharePoint apps. An app for SharePoint is a small and isolated application that provides a specific bit of functionality. SharePoint apps can and have to be added to or removed from a site by the site owner.  Apps have their own, isolated URLs, which are separate from the URLs of the sites where the app is being deployed to and where the app is being used. In order to provide isolation apps run in their own domain, instead of in the same domain name as your farm. Using a different domain name for apps helps prevent cross-site scripting between apps and SharePoint sites.

Each installation of an app has its own unique URL within the app domain. The app’s URL is based on a template “http://[app prefix][app hash].[app domain]/[relative site url]/[app name]. When you add an app to a site, a subweb of that site is created to host the app content. This subweb is not visible on the Site Contents page though.

Because apps run in their own app domain you will have to configure Domain Name Services (DNS) in your environment in order to be able to host apps. There is a page on TechNet that describes how to setup you DNS, but because it took me a while to get it all working I decided to write a step by step guide, which is what you’re reading now.

You can choose whether you want your app domain to be a subdomain of the domain that hosts the SharePoint environment (option B), or whether you want to create a completely new domain for your apps (option A). Creating a new domain specifically to host your apps in is a bit more secure, but it also requires a little bit more configuration. I will describe both approaches in this article. If you don’t have control over your DNS you will have to ask an administrator to perform these steps for you.

Option A: Create a new domain to host your apps in

- Go to “Start”
- Click on “Administrative Tools”
- Select “DNS”
- Right click “Forward Lookup Zones” and select “New Zone…”
- Click “Next”
- Keep the default and click “Next” again
- In most cases, especially if your development server is in it’s own domain you can use the default on the next tab again and can just click “Next”
- You now have to specify a zone name. It’s up to you what you choose here. My domain name is “solutions.com” and for my app domain I will use “solutionapps.com”
- Click “Next”
- Click “Next”
- Click “Finish”
- Right click on your new zone and select “New Alias (CNAME)…”
- Fill in a * for “Alias name (uses parent domain if left blank)”
- Click “Browse”
- Double click on your server name
- Double click “Forward Lookup Zones”
- Double click the domain of your SharePoint environment. In my case this is “solutions.com”.
- Select “(Same as parent folder)” and click “OK”
- Click “OK”.

* Note that selecting the FQDN of the domain in here will only work in single server scenarios. If you are using more than one server you should be pointing to the DNS record of the web server in here. This is either the DNS A record for the web server, or the DNS record of the primary cluster address for NLB environments.

You are now done setting up your DNS and it should look like this:

Option B: Create a subdomain to host your apps in

- Go to “Start”
- Click on “Administrative Tools”
- Select “DNS”
- Right click on the name of your domain and select “New Alias (CNAME)…”
- Fill in “*.app” for “Alias name (uses parent domain if left blank)”
- Click “Browse”
- Double click on your server name
- Double click “Forward Lookup Zones”
- Double click the domain of your SharePoint environment. In my case this is “solutions.com”
- Select “(Same as parent folder)” and click “OK”
- Click “OK”

* Note that selecting the FQDN of the domain in here will only work in single server scenarios. If you are using more than one server you should be pointing to the DNS record of the web server in here. This is either the DNS A record for the web server, or the DNS record of the primary cluster address for NLB environments.

You are now done setting up your DNS and it should look like this:

Configuring SharePoint

I’m assuming you already created an App Management and a Subscription Settings Service Application and that you already started the App Management and Subscription Settings services on your servers. If not this MSDN article will tell you how to. Note that you have to use PowerShell to create the Subscription Settings Service Application. There is no user interface for it.

- Go to Central Administration
- Click on “Apps” in the left side navigation
- Click “Configure App URLs”
- Fill in the URL of the app domain that you configured. If you choose to use Option A the url will be something like “solutionapps.com”, if you choose to use Option B it will look like app.solutions.com.
- Fill in an app prefix. This can be anything you like, although it is best to keep this short. I used “app” myself.

Beware of host headers

You are now ready to deploy your apps. Because of all this extra domain stuff though there are a few things you should know about your web applications and site collections.

If you are using a host header for your web application apps won’t just work for that web application. Because of how the redirect for the app domain works IIS will try to resolve the app url by using the default IIS web site, which of course doesn’t work. If you want to use host headers for your web applications you have to create an extra web application that is listening on port 80 (or 443 if you are using https) and that doesn’t have a host header.

This means that you have to create a web application like you normally would. You have to make sure that you select port 80 (or 443 if you are using https) and you should not fill in a host header. Note that you have to stop the Default Web Site in IIS in order to be able to do this. The web application will use the server name as its url. The web application can be empty except for a root site collection.

Another option is to use web applications without host headers and to create Host Header Site Collections. Be aware that Host Header Site Collections cannot be created via the user interface, they can only be created by using PowerShell.



Multi Tenancy with SharePoint 2013 Hosting : What’s new and changed

clock November 29, 2012 19:14 by author Administrator
Introduction

SharePoint 2013 Preview introduces a number of new elements and additional considerations for multi tenancy deployments. This article is intended as a companion to my Rational Guide to Multi Tenancy with SharePoint 2010 article series and will cover what’s new and changed in this release with respect to configuration and functionality. It is assumed you are familiar with the material in the article series.

Please note that this article applies to the SharePoint 2013 Preview release. Things are likely to change between now and the final release of SharePoint 2013. I will update this article shortly after RTM.

Fundamentally not a great deal has changed. The majority of the configuration, operations and core functionality are the same as with SharePoint 2010. However as SharePoint 2013 introduces changes to existing services along with brand new ones, these services’ degree of multi tenant awareness also changes. We must also factor in the new functionality in the core SharePoint offering as it pertains to a multi tenant deployment.  

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

New and Changed Service Applications

Three new Service Applications are introduced in SharePoint Server 2013, along with substantial changes to two existing service applications. Here’s a summary of how these changes impact multi tenant deployments.

App Management Service

The App Management Service is the key infrastructure enabler for the new SP Apps platform. App Management allows the configuration of the App Store, Licences, App Purchases, App Catalog, App URLs and App Permissions.

Whilst the App Management Service is not required, as SP Apps are the future of customisation within multi tenant deployments, the App Management Service should be considered a pre-requisite core service, like the Subscription Settings service application. Indeed for the App Management Service Application to function there must be a Subscription Settings service application provisioned.

The App Management Service is inherently Subscription aware and does NOT need to be provisioned in Partitioned Mode (there is no option to do so anyway).

Appropriately most of the Apps configuration “moves” to the Tenant Administration site, allowing each tenant administrator to configure their individual settings from the Marketplace section:  

The configuration of App URLs and Monitoring of Apps remains at the Farm scope, and appears exposed via Central Administration. However these pages are useless when in a multi tenancy environment! For some unknown reason Apps get it’s very own top level section in CA. Anyway the configuration of App URLs must be done via Windows PowerShell cmdlets, just like the other main tenant specific settings for MMS, BDC and UPA. This can be done at the time of provisioning or at a later date.

There’s quite some kerfuffle in the developer community about SP Apps since the release of SharePoint 2013 Preview. Ignoring all of the discussion about the new model’s strengths and weaknesses from a customisation perspective, SP Apps are a huge piece of the multi tenancy model in SharePoint 2013 and should not be underplayed. I will probably post more about SP Apps specifically over the coming months.

Translation Service

The Translation Service, also known as the Machine Translation Service, supports multi tenancy by means of its service application being created in Partition Mode. Similar to the Word Automation service application, there is no tenant specific configuration, and the service is managed at the farm level. However just like the Word Automation service, its database is effectively a queue and therefore needs to be partition or tenant aware.

Work Management Service

The Work Management Service does not store any data, and therefore does not need to be created in Partition Mode.

Search Service

The Search Service in SharePoint 2013 is completely re-architected. The provisioning of the service application and it’s constituent components changes significantly, however from a multi tenancy perspective all we need to do is create the service application in Partition Mode as we did with SharePoint Server 2010. What is brand new and you should like this, is that unlike SharePoint Server 2010 which did not expose any tenant specific configuration, Tenant Administration now provides access to all of the key settings. It’s a beautiful thing!

Many of the *.EnterpriseSearch* Windows PowerShell cmdlets also are partition aware and can be used to automate some of the above configuration. Note the Export and Import Search Configuration options above.  

User Profile Service

The User Profile Service hasn’t changed at all with respect to multi tenancy, however it is important to note some of the critical aspects once again. The related bug where a UPA created with a Windows PowerShell session not running as the Farm Account prevents provisioning of the UPS service instance, has NOT been fixed. We still need to use the workaround here. There is also no change to the support of only a single OU per tenant for Synchronization. Furthermore it appears as if Active Directory Import mode does not understand Subscription IDs and therefore cannot be used with a Partition Mode UPA.

All other service applications remain unchanged in terms of their configuration for multi tenancy. Of course where features and functionality have changed (e.g. MMS and BDC) those changes are naturally also available from Tenant Administration. Indeed some of the Search configuration above takes you to the Tenant Manage Term Store page.  

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

Additional Functional Elements

Feature Packs

Feature Packs provide the ability to constrain the Features available for a given tenant. The fundamental capability isn’t changed in any way here, but of course the Features in the product have. Thus the old Feature Pack definitions for SKUs are no longer valid. A new set of feature pack definitions are required encompassing all of the new Features in SharePoint 2013.

Information Rights Management Integration

Information Rights Management (IRM) integration can now be configured to be tenant aware, thus providing the ability for each tenant to have different IRM settings. This will be incredibly useful especially in federated IRM scenarios. At the Farm Level we can configure multi tenant support, and we then can add tenant specific settings as part of the tenant provisioning or at a later stage. IRM will then be available to our tenants within Library Settings.  


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

Configuration

The good news here is that the large majority of configuration remains unchanged. With the exception of the creation of the Search service application, all of my previous Windows PowerShell scripts can be used as is, with no modifications. The other changes are simply additions to those scripts.

Configuring the App Management Service

Nothing exciting here, we simply start the service instance and then create the service application and it’s proxy. This is the exact same pattern as used in my previous Windows PowerShell scripts for the other services. We do not need to provide a –PartitionMode parameter.

Configuring the Translation Service

Again, using the same pattern, we simply start the service instance and then create the service application and proxy. This time we add the –PartitionMode parameter. However, there is an “interesting” aspect to this guy. Creating the service application automatically creates a proxy, but it does not allow you specify a proxy name. It just uses the same name as used for the service application! If you care about consistent naming in your farm (and you should!) you have to delete that proxy and create another one, this time with the name you desire. This continues the trend of wildly inconsistent cmdlet behaviour in SharePoint!

Configuring the Search Service

As the Search service has had a complete overhaul, the old script is no longer valid. The good news is that the Windows PowerShell for working with the Search service and it’s constituent topology elements has been refined. The following script replaces the old version for deploying on a single server farm. Of course we would need to do more work in the topology arena if deploying in a real farm with articulated search roles. The only multi tenancy aspect here is the use of the –Partitioned parameter when creating the service application and proxy.

Configuring (or not) Feature Packs

I don’t currently have a set of Feature Pack definitions corresponding to the SKUs of SharePoint 2013. I am not entirely sure I will actually produce them. The use of feature packs to represent SKUs is really only useful from a demonstration perspective, and it’s likely I would make mistakes. I am not the guy to be defining which of the vast number of features included are part of individual SKUs. Obviously if you are running multi tenancy in the real world and are using Feature Packs, you will already have a Feature Pack management toolset, and that will work with no changes for SharePoint 2013 Preview.

Configuring Information Rights Management (IRM)

IRM support for multi tenancy can be enabled via Central Administration or the updated Windows PowerShell cmdlets. In Central Administration, simply navigate to the IRM settings page as normal:

Central Administration –> Security –> (Information Policy) Configure information rights management

Then select the RMS server as normal and check the Check this box in multi-tenant configurations to allow tenants to configure tenant level IRM settings check box.

In Windows PowerShell we can use the updated Set-SPIRMSettings cmdlet:

There are no configuration options for IRM within Tenant Administration, so this configuration must be applied using the new Windows PowerShell *.SPSiteSubscriptionIRMConfig cmdlets. We could also build this into the tenant provisioning function of my previous scripts.

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

Conclusion

This article covers a number of new elements and considerations for multi tenancy deployments introduced with SharePoint 2013 Preview along with the necessary changes to the configuration and Windows PowerShell scripts from my Rational Guide to Multi Tenancy with SharePoint 2010 article series. To the cloud, baby!



WebSocket Hosting in Windows Server 2012 with ASPHostCentral.com

clock November 27, 2012 16:10 by author Administrator

As both the WebSocket Protocol and the WebSocket API gain full-fledged support in the Windows 8 Consumer preview, ASP.NET developers can start taking advantage of the bidirectional capabilities by using System.Web.WebSockets library.

ASPHostCentral.com, as the premier provider of ASP.NET and Windows Hosting service, proudly announces that we have supported the latest Windows Server 2012. This Windows Server version does support WebSocket technology and ASP.NET developers can maximize this opportunity directly.

In the Windows 8 consumer preview and Server beta, IE10 and all other Microsoft WebSocket client and server features now support the final version of the IETF WebSocket Protocol. In addition, IE10 implements the W3C WebSocket API Candidate Recommendation. An article on the IE team blog explains this in much more detail.

Meanwhile, ASP.NET Developers can start using the System.Web.WebSockets library introduced in .NET Framework 4.5 to leverage this technology. Note that this is different from the System.Net.WebSockets namespace which contains the actual implementation of the WebSocket standard in .NET – System.Web.WebSockets provides the integration of this implementation with ASP.NET.

WebSocket is a technology for providing bi-directional communication channels over a single TCP socket. This is a much simpler alternative to using Comet Channels to allow the web server to push data to a web client, without the client explicitly requesting it. Although the technology itself has been available since much earlier (Google Chrome first announced support for it in late 2009), it finally became a Proposed Standard last December essentially receiving a nod from the Internet Engineering Task Force.



ASP.NET Hosting

ASPHostCentral is a premier web hosting company where you will find low cost and reliable web hosting. We have supported the latest ASP.NET 4.5 hosting and ASP.NET MVC 4 hosting. We have supported the latest SQL Server 2012 Hosting , SharePoint 2013 hosting and Windows Server 2012 Hosting too!






Sign in

Technology