Windows 2012 Hosting - MVC 6 and SQL 2014 BLOG

Tutorial and Articles about Windows Hosting, SQL Hosting, MVC Hosting, and Silverlight Hosting

Windows Server 2012 Hosting - How to set up an Internal SMTP Service for Windows Server 2012 Essentials

clock October 31, 2013 07:26 by author Mike

Windows Server 2012 Essentials does not come with Microsoft Exchange Server as its predecessor Small Business Server 2011 did. However, many small businesses still use a copier or multifunction device that has the ability to scan to email. Some units also allow a fax to email forwarding service. Unfortunately, many of these devices rely on some form of internal SMTP service to enable them to relay emails to recipients.



Fortunately, you can enable a SMTP service that is built into the core operating system for Windows Server 2012. Here how to do this.

Install the SMTP Service

  1. Launch the Server Manager. From the Search charm, type in Server Manager to find it.


  2. From the Dashboard, Add Roles and Features. The Add Roles and Features Wizard will begin. Click Next on the first screen.


  3. Select Role-based or feature-based installation.


  4. Select the Essentials Server (which should be highlighted by default).


  5. Click Next to bypass the Roles selections.


  6. Scroll down the list and tick the SMTP Server feature.


  7. A new window will pop up to inform you that some other services will also be installed. Click Add Features to confirm and continue. Click Next to continue past the features selection screen.


  8. Click Install to complete the Installation.


  9. Click Close when the installation has completed.


Configure the SMTP Service

  1. From the Search charm, type IIS. Hover your mouse over one of the selections, and run the Internet Information Services (IIS) 6.0 Manager.


  2. Click Yes to the UAC Prompt.


  3. Expand to SMTP Virtual Server #1, right click and select Properties.


  4. General Tab: Set the IP Address to the server’s IP address.

    Note: You can also enable logging is required.


  5. Access Tab: Set the IP for the internal devices in the connection button.


    Add the same IP to the Relay list.


  6. Delivery Tab: Set an external domain – you can use the free customised domain from Microsoft, and you can also optionally add a Smart host, if required. Tick the Attempt direct delivery box, if you want the server to attempt to deliver the email directly first before trying the Smart host.


  7. From the Search charm, type Firewall to locate and run the Windows Firewall with Advanced Security console.


  8. Add a new Inbound Rule. (Right Click on Inbound Rule, and select New Rule)


  9. Select Port.


  10. Type in 25 as the local port.


  11. Click Next (Allow the Connection).


  12. Uncheck Public. (Prevents external access to the server)


  13. Give the rule a name, and click Finish to create the rule.


  14. You should now see a new rule enabled in the firewall management console.


  15. Restart the SMTP Service and set the service for Automatic Start. Open up the Services Management Console. Double Click on the Simple Mail Transfer Protocol service. Stop and then Start the service. Set the Startup type to Automatic.

That’s it. The service is ready and waiting.

ASP.NET MVC Hosting - :: ASP.NET MVC Request Life Cycle

clock October 30, 2013 06:09 by author Ben

There are primarily seven stages in the ASP.Net Request Life Cycle :

1. Routing Routing is the first step in MVC request cycle. Basically it is a pattern matching system that matches the request’s URL against the registered URL patterns in the Route Table. When a matching pattern found in the Route Table, the Routing engine forwards the request to the corresponding IRouteHandler for that request. The default one calls theMvcHandler. The routing engine returns a 404 HTTP status code against that request if the patterns is not found in the Route Table. When application starts at first time, it registers one or more patterns to the Route Table to tell the routing system what to do with any requests that match these patterns. An application has only one Route Table and this is setup in the Global.asax file of the application.

2. MVCRouteHandler
MVC handler is responsible for initiating MVC applications. The MvcRouteHandler object creates an instance of the MvcHandler and passes the instance of RequestContext to MvcHandler.
MvcHandler is implemented from ITttpHandler and it cannot map as a handler. This class does not support a parameterless constructor. It takes RequestContext as a parameter.

3. Action Execution
Once the controller has been instantiated, Controller's ActionInvoker determines which specific action to invoke on the controller. Action to be execute is chosen based on attributes ActionNameSelectorAttribute (by default method which have the same name as the action is chosen) and ActionMethodSelectorAttribute(If more than one method found, the correct one is chosen with the help of this attribute). is Microsoft No #1 Recommended Windows and ASP.NET Spotlight Hosting Partner in United States. Microsoft presents this award to for ability to support the latest Microsoft and ASP.NET technology, such as: WebMatrix, WebDeploy, Visual Studio 2012, ASP.NET 4.5, ASP.NET MVC 4.0, Silverlight 5 and Visual Studio Lightswitch. Click here for more information

4. Controller
MVCHandler receives a controller instance from the MVC controller factory (IControllerFactory). This controller handles further processing of the request. The MVCHandler object uses RequestContext (passed as a constructor parameter) instance to identify the IControllerFactory object to create the controller instance. The MvcHandler instance calls the Execute method of controller.

5. View Engine
View Result is responsible for selecting and involving the appropriate View Engine. A View Engine is responsible for rendering HTML to the browser. The View Engine template has different syntax to implement the view. Currently there are four builtin View Engines (Razor, ASPX, Spark and NHaml) supported by MVC. We can also create our own custom View Engine to render a view. All the View Engines may not be supported in all versions of MVC. We can also use multiple View Engines simultaneously in ASP.NET MVC.

6. View Result
The action method receives user input, prepares the appropriate response data, and then executes the result by returning a result type. The result type can be ViewResult, RedirectToRouteResult, RedirectResult, ContentResult, JsonResult, FileResult, and EmptyResult. Launches Visual Studio 2013 Hosting

clock October 28, 2013 09:57 by author Ben

ASPHostPortal, a premier web hosting provider, announces the launch of Visual Studio Hosting which is available for all of the ASPHostPortal Windows hosting plans.Instant Setup, Fast and Friendly Support!, a leading Windows web hosting provider, proudly announces the introduction of Visual Studio 2013 hosting which is now available for all of the ASPHostPortal Windows hosting plans.

Visual Studio 2013 is New versions of Visual Studio usually coincide with updates to the .NET Framework and one of our biggest releases yet. It comes purpose-built to help you thrive in an environment in which ideas are at a premium and speed is of the essence.

There are new, or at least radically expanded services from Visual Studio 2013 , such as:

- CodeLens
- Performance and Diagnostics Hub
- roaming Settings
- CodeMap

"ASPHostPortal was one of the first hosts to launch Visual Studio 2013 hosting in the US and we now bring the latest in the Microsoft technology. We have always up to date for the offers products by Microsoft . With the launched of Visual Studio 2013 hosting services, we hope that developers and our existing clients can try this new features.” said Dean Thomas, Manager at

For more information about new Visual Studio 2013, please visit

About is a hosting company that best support in Windows and ASP.NET-based hosting. Services include shared hosting, reseller hosting, and sharepoint hosting, with specialty in ASP.NET, SQL Server, and architecting highly scalable solutions. As a leading small to mid-sized business web hosting provider, strive to offer the most technologically advanced hosting solutions available to all customers across the world. Security, reliability, and performance are at the core of hosting operations to ensure each site and/or application hosted is highly secured and performs at optimum level.

Visual Studio 2013 Free Trial Hosting :: New Features And Functionality Visual Studio 2013

clock October 28, 2013 06:02 by author Ben

Visual Studio 2013 is New versions of Visual Studio usually coincide with updates to the .NET Framework and one of our biggest releases yet. It comes purpose-built to help you thrive in an environment in which ideas are at a premium and speed is of the essence.


Now, let's have a look at what to expect from Visual Studio 2013.

1 . CodeLens
With CodeLens ( Code Information Indicators ) you can find code - related information faster and Easier . CodeLens works like a heads- up display in the code editor . With CodeLens you can :

  1. Find specific changes to code
  2. Find dependencies on specific code
  3. Find and run unit tests for specific code

2 . Performance and Diagnostics Hub

  1. JavaScript Memory . First Introduced in Visual Studio 2012 Update 1 , this tool helps you understand memory usage and find memory leaks in JavaScript Windows Store apps .
  2. HTML UI Responsiveness . First Introduced in Visual Studio 2012 Update 2 , this tool helps you isolate problems in JavaScript UI responsiveness Windows Store apps by providing rich visualizations of work being done on the UI thread .
  3. XAML UI Responsiveness . New in Visual Studio 2013 , this tool helps you understand UI responsiveness problems in C # / XAML and C + + / XAML Windows Store apps by providing rich visualizations of work being done on the UI thread .
  4. Energy Consumption . New in Visual Studio 2013 , this tool Enables you to estimate your app 's energy consumption without the need for any specialized hardware .

3 . roaming Settings
if you launch Visual Studio 2013 for the first time , you will get the dialog prompting you to sign -in . You can sign-in to Visual Studio 2013 using your Microsoft account ( , , etc . ) . After you sign-in to Visual Studio 2013 , your settings are sync'd with your Microsoft account . Next time when you use Visual Studio 2013 on another computer , you can use the same Microsoft account to sign -in and find your settings applied to it .

4 . CodeMap
In Visual Studio 2013 , when you are in a debugging session , you will find an option called Code folder in the debug toolbar .

How To Enable .CSHTML Support In Windows Server 2012

clock October 24, 2013 12:25 by author andry

C# ("C sharp")is  HTML webpage file used by Razor, an ASP.NET view engine used for generating Web pages for a user's Web browser; similar to a standard ASP.NET webpage (.ASP or .ASPX file), but uses a slightly different syntax; runs on a Web server, which generates the HTML for the client Web browser; can be programmed with syntax highlighting.

If we build a website that contains .cshtml file, we must enable .cshtml file. At the below, there is an error message if we don’t enable .cshml file.

To enable .cshtml file on windows Server 2012, There are steps to solve that problem. Open your IIS.

Expand “server”-> “sites” and choose “domain”.  Then click on Handler Mapping.

You can't find .cshtml. After that, choose “Revert to Parent” on right tab.

Select "Yes" and Look,what the difference with the previous image.

.cshtml file are enable and available. Now browse the domain. If you still can not access and have an error. You should check the .NET version. Remember that .Cshtml file can only be run on .NET version 4 and above.

To check the .Net version, select "application pools" -> right click on "domain_name" -> "Basic settings" -> choose .Net 4 version -> "Ok".

Now you can browse your domain with .cshtml file. Here is screenshot.

WCF Hosting Trial - :: Consuming AJAX-Enabled WCF Services from both Client and Server

clock October 24, 2013 11:38 by author Ben

This is a simple example of an Ajax-Enabled WCF Service (hosted in IIS) that can be consumed using both client-side and server-side code.

1. Add a WCF Service Application project to the solution called FooService

2. Delete everything in the service project’s web.config file.


a. Create a class file called FooServiceOne.cs
b. Replace the code with this:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ServiceModel;
using System.ServiceModel.Activation;
using System.ServiceModel.Web;

namespace GooberFoo.FooServices

    [ServiceContract(Namespace = "GooberFoo.FooServices")]
    public interface IFooServiceOne
        double Add(double n1, double n2);

    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    public class FooServiceOne : IFooServiceOne
        public double Add(double n1, double n2)
            return n1 + n2;

c. Create another file called FooServiceOne.svc and past the following code into the file.


d. Save and Compile

3. Host in IIS

a. Make sure "Enable anonymous access" is checked.
b. Make sure "Integrated Windows authentication" is unchecked.
c. Test the service by navigating to http://*******:90/FooServiceOne.svc
d. The service will be displayed with the message "Metadata publishing for this service is currently disabled."

4. Access the service from the client-side code

a. Create an Empty ASP.NET Web Application in your solution.
b. Drag and drop an AJAX Extensions ScriptManager control into your web page.
c. In the ServiceReference Collection Editor, set the path to http://********:90/FooServiceOne.svc
d. Drag and Drop an ASP.NET button and Label control on the page.

 <asp:Button ID="Button1" runat="server" OnClientClick="return Button1_Click();" Text="Add 5 and 7" />
 <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

e. Add client-side script. 

<script language="javascript" type="text/javascript">
     function onSuccess(result) {
       document.getElementById('<%=Label1.ClientID %>').innerHTML = result;
     function Button1_Click() {
       var proxy = new GooberFoo.FooServices.IFooServiceOne();
       proxy.Add(parseFloat(5), parseFloat(7), onSuccess, null, null);
       return false;

f. Compile and test.

5. Modify the service project to allow server-side code to consume the service

Change the service project's web.config file to look like this.

<?xml version="1.0"?>

                <binding name="basicHttpBinding" closeTimeout="00:01:00"
                    openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                    allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                    messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                  <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                      maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                  <security mode="None">
                    <transport clientCredentialType="None" proxyCredentialType="None"
                        realm="" />
                    <message clientCredentialType="UserName" algorithmSuite="Default" />

                <behavior name="AspNetAjaxBehavior" >
                  <serviceMetadata httpGetEnabled="true" />

                <behavior name="AspNetSOAPBehavior">

              <service name="GooberFoo.FooServices.FooServiceOne" behaviorConfiguration="AspNetAjaxBehavior" >
                <endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
                <endpoint address="soapreq" behaviorConfiguration="AspNetSOAPBehavior" bindingConfiguration="basicHttpBinding"
                          binding="basicHttpBinding" contract="GooberFoo.FooServices.IFooServiceOne" name="GooberFoo.FooServices.IFooServiceOne" />

6. Test the Service

a. In IE, open the URL http://*******:90/FooServiceOne.svc.
b. You will see the FooServiceOne Service page along with instructions to use svcutil.exe http://*******:90/FooServiceOne.svc?wsdl

7. Add the Web Reference to your web application

a. In your web application, "Add Service Reference".
b. Use http://GooberServer:90/FooServiceOne.svc?wsdl
c. Click Go.
d. Use FooServiceOneRef as the namespace.
e. Click OK.
f. View web application’s web.config file.

8. Use server-side C# code to consume the service in your web application

a. Add Button control to the page along with a button click event.

 <asp:Button ID="Button2" runat="server" Text="Add 10 and 13" onclick="Button2_Click" />

b. The button click event will look like this:

protected void Button2_Click(object sender, EventArgs e)
   FooServiceOneRef.FooServiceOneClient mySvc = new FooServiceOneRef.FooServiceOneClient();
   Label1.Text = Convert.ToString(mySvc.Add(10, 13));

c. Compile and test.

Wordpress Hosting - How to configure and install wordpress using Webmatrix

clock October 23, 2013 08:41 by author andry

There are many way to create a website, one of them is creating a website using WebMatrix. To install WebMatrix on your local computer, you need mysql and mysql connector installer. Please install all on your local computer. This is very important if you later install a web application that uses  mysql database e.g wordpress. After you install mysql, please configure your mysql password root.if wrongly configure, then the error will appear as below.

After configuring mysql, then install WebMatrix on your local computer. Below is a screenshot of WebMatrix after install.


To install WordPress using WebMatrix, choose "New" -> "App Gallery" -> choose "wordpress icon" and "next" -> "I accept". Wait for installing wordpress. If wordpress have successfully installed, will appear like this.

Click “Ok”. And wordpress successfully installed on your local computer. Now we will publish wordpress to the server. Here is how to publish wordpress.

Go to “remote”-> “settings” -> “enter settings”. Fill in the following details.

After the validation test connection. If successful you will see "connected succesfully". Click on “Save”. To publish it on the server, On the menu bar, select “Publish” -> On ” Publish compatibility” window, choose "continue" -> "continue" -> on “publish preview” window, tick "delete files on a remote server" and choose "continue" again and let the process run as shown below .

If it appears like this means successful.

Please visit the website and wordpress already active.

Orchard Hosting :: Creating A Rotating Image Gallery In Orchard CMS

clock October 20, 2013 09:23 by author Ben

Orchard is a free, open source, community-focused project aimed at delivering applications and reusable components on the ASP.NET platform. It will create shared components for building ASP.NET applications and extensions, and specific applications that leverage these components to meet the needs of end-users, scripters, and developers.
Orchard is an open source CMS based ASP.Net lightweight, powerful, and easy to use. On the Web Platform Installer (Web PI) Orchard CMS CMS has not been entered on the list, but you can add it yourself by adding Web feeds Orchard in PI.

A rotating image gallery is something many sites have these days. Most people employ this functionality by adding some jQuery code to rotate through a set list of images or simply by adding a plugin already built. When developing sites in Orchard CMS it is important to make as much content as you can editable by your clients so they can easily manipulate the website when needed.There are simple step to creating a rotating image galerry in Orchard :

Step 1 : Create new content type of " Banner Image " .
First you will need to install the module ImageFile so you can benefit from this new content part . Once you have installed it browse to Content > Content Types. Create a new Content Type called " BannerImage " . Add two fields to this content type . The first will be a TextField and call it " imagetext " . Next , add an ImageField called " ImageFile " . It should also have the following content parts : Common , containable , Publish Later , Custom Properties , and Title . Click Save . The imagetext field will hold some descriptive text to show over the image . ( Note : You may also add another field called " ImageLink " if you want this text to be clickable and perhaps take you to a specific page on the site . ) The second field is called ImageLink is responsible for choosing the associated image . Lastly , the Custom Properties field will be used for storing the display order of the images.

Step 2 : Create new content type of "Image Gallery".
Go and create another content type Entitled " ImageGallery " . This type will require the following content parts : Common , Container , Publish Later , Title , Admin Menu . Click Save .

Step 3 : Create the "Home Page Gallery" content type.
  in the dashboard you have an a new type called " Image Gallery " under the New > tab of the dashboard . Select this type and create a new content item Entitled " Home Page Gallery " .

Step 4 : Map the " Image Gallery " to a container widget that sits on the homepage layer .

Step 5 : Add some Banner Images .
You now have the structure in place to begin adding content for your gallery . Find your new admin menu item Entitled " Home Page Gallery " in the dashboard .

Step 6 : Create a template to override the rendering .
we want to add a new template so we can control the rendering to fit our gallery goal . Begin by adding a new template in your themes directory . Under Themes \ YourTheme \ Views add a new file called " Content - BannerImage.Summary.cshtml " . The contents of this file will control the rendering of your gallery . Here are the contents I used , you may choose to use different markup .

@ using Orchard.ContentManagement ;

@ using Orchard.Core.Routable.Models ;

@ using Orchard.Core.Common.Models ;

@ {

    bannerImage var = ( ( ContentItem ) Model.ContentItem ) . Parts.SelectMany ( p = > p.Fields .) Where ( f = > f.Name == " ImageFile " ) . First ( ) . Storage.Get <string> ( null ) ;

    bannerText var = ( ( ContentItem ) Model.ContentItem ) . Parts.SelectMany ( p = > p.Fields .) Where ( f = > f.Name == " imagetext " ) . First ( ) . Storage.Get <string> ( null ) ;


@ if ( HasText ( bannerImage ) )


    <div class="gallery" style="display:none;">

        src="@Href(bannerImage)" <img height="460" width="695" />

        <div class="gallery-overlay"> @ bannerText < / div >

        <div class="gallery-links"> < / div >

    < / div >

Step 7 : Use some jQuery to animate and rotate the images.
The final step is add some scripting to rotate these images and populate some clickable links for the user to paginate through the gallery .

Windows Hosting - :: Assign IP Automatically and Manually to Client Machine

clock October 9, 2013 10:08 by author Ben

TCP / IP (which stands for Transmission Control Protocol / Internet Protocol ) is a data communications standard used by the Internet community in the process of exchanging data from one computer to another computer on the network Internet . This protocol can not stand alone , because this protocol is a set of protocols ( protocol suite ) . This protocol is the most widely used protocol today . Data are implemented in software ( software ) in the operating system . The term given to this software is the TCP / IP stack

TCP / IP was developed in the late 1970s and early 1980s as a standard protocol for connecting computers and networks to form a vast network ( WAN ) . TCP / IP is an open network standard that is independent of physical network transport mechanism that is used , so it can be used anywhere . This protocol uses a simple addressing scheme known as IP address ( IP Address) that allows up to several hundred million computers to be able to relate to each other on the Internet . This protocol is routable, which means that the protocol is suitable for connecting different systems ( such as Microsoft Windows and UNIX family ) to establish a heterogeneous network .

TCP / IP has always evolved over time , given the increasing demand for computer networks and the Internet . Development is done by several agencies , such as the Internet Society ( ISOC ) , the Internet Architecture Board ( IAB ) and the Internet Engineering Task Force ( IETF ) . Various protocol that runs on top of TCP / IP addressing scheme , and the concept of TCP / IP defined in documents called Request for Comments ( RFC ) issued by the IETF .

And now I wanna tell you
how to assign an IP automatically and manually to a client machineon windows.

1. open "Network and sharing Center" by clicking on the "Net Connection" Icon shown at the Task Bar.
2. Now your Control Panel window will be opened. Here in this window you will find an option for "Change Adapter Settings" that is on the extreme left hand side of the window. Click on this option.
3. Now your "Local Area Connection" will be opened. Right-click on this connection and click on "Properties".
4. Now the Property window for Local Area Connections will be opened. Here first you must select the "Internet Protocol Version 4" and then click on it's "Properties."

5. The Properties window of Internet Protocol Version 4 is the area where we will provide the IP Address either Automatically or Manually. For getting the IP Address Automatically click on the "Obtain IP Address Automatically and Obtain DNS Server Address Automatically" and then click on the "OK" Button.
But remember one thing; You can only provide the Automatic IP Address only if your Organization has a DHCP Server otherwise the Automatic option will not work.

6. In the previous step we obtain the IP Address Automatically but now we will provide the IP Address Manually. For this click on "Use the following IP Address and  Use the following DNS Server Address".

Now provide the IP Address, Default Gateway, Preferred DNS Server and Alternate DNS Server. The Subnet Mask will automatically appear after providing the IP Address. And Click OK.


Free ASP.NET hosting - :: Proudly Announces Free Trial Windows ASP.NET Hosting

clock October 3, 2013 10:28 by author Ben is a premier Windows and ASP.NET Web hosting company that specializes in Windows and ASP.NET-based hosting. We proudly announces 7 Day Free Trial Windows and ASP.NET Hosting to all new customers. The intention of this FREE TRIAL service is to give our customers a "feel and touch" of our system. This free trial is offered for the next 7 days and at anytime, our customers can always cancel the service.


The 7 Day Free Trial is available with the following features:

- Unlimited Domains
- 5 GB Disk Space
- 60 GB of Bandwidth
- 2 MS SQL Database
- Unlimited Email Account
- Support ASP.NET 4.5
- Support MVC 4.0
- Support SQL Server 2012
- Free Installations of ASP.NET And PHP Applications believes that all customers should be given a free trial before buying into a service and with such approach, customers are confident that the product / service that they choose is not faulty or wrong. Even we provide free trial service for 7 days, we always provide superior 24/7 customer service, 99,9% uptime guarantee on our world class data center. On this free trial service, our customer still can choose from our three different data centre locations, namely Singapore, United States and Amsterdam (The Netherlands)

Anyone is welcome to come and try us before they decide whether or not they want to buy. If the service does not meet your expectations, our customer can simply cancel before the end of the free trial period.

For all the details of packages available visit

About is a hosting company that best support in Windows and ASP.NET-based hosting. Services include shared hosting, reseller hosting, and sharepoint hosting, with specialty in ASP.NET, SQL Server, and architecting highly scalable solutions. As a leading small to mid-sized business web hosting provider, ASPHostPortal strive to offer the most technologically advanced hosting solutions available to all customers across the world. Security, reliability, and performance are at the core of hosting operations to ensure each site and/or application hosted is highly secured and performs at optimum level.


We’re a company that works differently to most. Value is what we output and help our customers achieve, not how much money we put in the bank. It’s not because we are altruistic. It’s based on an even simpler principle. "Do good things, and good things will come to you".

Success for us is something that is continually experienced, not something that is reached. For us it is all about the experience – more than the journey. Life is a continual experience. We see the Internet as being an incredible amplifier to the experience of life for all of us. It can help humanity come together to explode in knowledge exploration and discussion. It is continual enlightenment of new ideas, experiences, and passions

 photo ahp banner aspnet-01_zps87l92lcl.png

Author Link

Corporate Address (Location)

170 W 56th Street, Suite 121
New York, NY 10019
United States

Sign in