Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Debugging your web app with UWS, or just hosting the app from command line
Ultidev Team
#1 Posted : Saturday, June 18, 2011 3:09:51 PM(UTC)
Ultidev Team

Groups: Administration
Joined: 11/3/2005(UTC)
Posts: 2,253

Thanks: 28 times
Was thanked: 60 time(s) in 59 post(s)
UltiDev Web Server makes it two-clicks-simple to replace Visual Studio internal web server (Cassini/WebDev.WebServer) with UWS Interactive Host.

UltiDev Web Server Pro interactive (non-service) web application hosting utility (screenshot) allows you to host your application temporarily - until the interactive web server application is shut down.

UltiDev Web Server Interactive Host utility is ideal for debugging your application from inside Visual Studio or any other IDE, as well as for tracing requests and troubleshooting 404s and other errors.

There are several ways to start Interactive Host:

  • Use UWS Visual Studio web server replacer utility, also located in Start Menu\Programs\UltiDev\Web Server Pro\Interactive Dev & Test Server, to switch Visual Studio from using its own Cassini-based debug server to UWS Interactive Host. You can restore the WebDev.WebServer/Cassini as Visual Studio debugging server just as easily.
  • Run it from Windows Start menu: Start Menu\Programs\UltiDev\Web Server Pro\Interactive Dev & Test Server, and then depending on which .NET Framework and bitness you need, launch one of the four UWS.InteractiveServer.XXX.exe programs.
  • Run it as a command line utility.
  • Run it as an external debugging program for your Visual Studio ASP.NET application.
Ultidev Team attached the following image(s):
Ultidev Team attached the following image(s): UWS.Pro.Interactive.png
Ultidev Team attached the following image(s): UWS.StartMenu.WebDev.WebServer.Replacer.png
Ultidev Team attached the following image(s): UWS.WebDev.WebServer.Replacer.Utility.png
Ultidev Team attached the following image(s): UWS.Visual.Studio.web.app.debug.png
Please donate at http://www.ultidev.com/products/Donate.aspx to help us improve our products.
Ultidev Team
#2 Posted : Friday, September 9, 2011 1:21:58 PM(UTC)
Ultidev Team

Groups: Administration
Joined: 11/3/2005(UTC)
Posts: 2,253

Thanks: 28 times
Was thanked: 60 time(s) in 59 post(s)
Interactive UWS comes in four flavors:

  • UWS.InteractiveServer.Clr2AnyCPU.exe - for hosting .NET 1.x, 2.0, and 3.x applications. It runs on 64-bit system as 64-bit process, and applications it hosts will also run as 64-bit.
  • UWS.InteractiveServer.Clr2x86.exe - same as above, except on 64-bit systems it will run as 32-bit process and your applications will be able to use 32-bit components. On 32-bit systems there is not difference between UWS.InteractiveServer.Clr2x86.exe and UWS.InteractiveServer.Clr2AnyCPU.exe.
  • UWS.InteractiveServer.Clr4AnyCPU.exe - for hosting .NET 4 applications. It runs on 64-bit system as 64-bit process, and applications it hosts will also run as 64-bit.
  • UWS.InteractiveServer.Clr4x86.exe - same as above, except on 64-bit systems it will run as 32-bit process and your applications will be able to use 32-bit components. On 32-bit systems there is not difference between UWS.InteractiveServer.Clr4x86.exe and UWS.InteractiveServer.Clr4AnyCPU.exe.

All EXEs are located in "%ProgramFiles%\UltiDev\Web Server".

If you start and Interactive UWS without any command line parameters, you will be able to specify all application's settings interactively. However, if you specify at least "path" parameter, Interactive UWS will start hosting the application and will attempt to launch web browser pointed to your application's URL. You may specify many other settings, including "vdir", "port", etc.

Below is the complete list of Interactive UltiDev Web Server command line options:

Code:
UWS.InteractiveServer.XXX.exe allows starting a web site or application from the command line. When command line parameters are specified, the web application will be started automatically and a web browser will be launched pointing to one of application URLs.

Interactive web server is most useful for debugging web applications from within Visual Studio, and for tracing and finding causes of HTTP errors like 404 Page Not Found.

To run interactive web server from the command line, at least PHYSICALDIRECTORY parameter is required.

IMPORTANT: When running web server as an interactive program, application is hosted using current user security context, which is different from using UltiDev Web Server as a service, which runs hosting processes under either Network Service or Local System user.



Usage Examples:

UWS.InteractiveServer.Clr2x86.exe "/path:c:\projects\mywebservice" defaultdoc:Service1.svc" /dirbrowsing:no /browser=C:\Users\john.doe\AppData\Local\Google\Chrome\Application\chrome.exe"

UWS.InteractiveServer.Clr2x86.exe /path:c:\projects\mywebapp /vdir:therootfolder /port:8569



Command line parameters are not case-sensitive, may start with '/' or '-', but it's not a requirement. Most parameter names have synonyms to simplify usage so you could just guess parameter names (see below). Parameter values are separated from parameter names by either ':' or '=' characters. Don't forget to enclose parameters with whitespaces into double qoutes, like "/dir:c:\Program Data\Whatever Else".

Boolean parameter values can be as follows: 'true' or 'false', 'yes' or 'no', 'on' or 'off', 'allow', 'deny' or 'prohibit', 'start' or 'stop'.


Parameter information:


PHYSICALDIRECTORY, type: String.
Recognized parameter name variations: path, appfolder, folder, applocation.
Description: File system or network path to the folder containing application or site files. It's a required parameter when registering an application, or launching it in interactive server.

VDIR, type: String.
Recognized parameter name variations: virtualdirectory, vpath.
Description: Vritual directory. Default value is '/'.

DEFAULTDOCUMENT, type: String.
Recognized parameter name variations: ddoc, defaultdoc, appdefaultdoc.
Description: Default document to be server when request URL ends with folder name. If not specified, server will look for a document named Index or Default having an extension like Html, Aspx or other web application file extensions. If no such file is found, and directory browsing is enabled, directory document list will be returned.

REALM, type: String.
Recognized parameter name variations: domain.
Description: Realm for Basic or Digest authentication.

COMPRESSION, type: Boolean.
Recognized parameter name variations: compress.
Description: Set to true (default when registering an application) to allow response GZIP compression, provided that request is sent by a client supporting compression. Not all MIME types will be compressed, but HTML, text, XML, JavaScript, CSS and many other types will be compressed.

DIRECTORYBROWSING, type: Boolean.
Recognized parameter name variations: dirbrowsing, folderbrowsing.
Description: Set to true (default is false) to make server return list of files when requested URL ends with a folder name and folder does not contain any default documents.

BYPASSAPPSERVERFORSTATICCONTENT, type: Boolean.
Recognized parameter name variations: bypass.
Description: If set to true (default), requests for static content, like images, CSS, JavaScript, and HTML files, will be served by the web server itself, without giving application a chance to handle the request. Application files, like ASPX, SVC and AXD, are still served by the application. True value is similar to how IIS is confgured by default, and is in contrast to how old UltiDev Cassini and Visual Studio Development Web Server are set up.

IMPERSONATEWINDOWSUSERFORSTATICCONTENT, type: Boolean.
Recognized parameter name variations: impersonate.
Description: If set to true and selected user authentication schema required Windows authenticaiton, web server will use client user's access rights when serving static content files. This can be used to limit which users have access to static content files. When set to false, host process's user security context will be used to access static files to be served.

ANONYMOUSAUTHENTICATION, type: Boolean.
Recognized parameter name variations: authanonymous, anonymous, anonymousauth.
Description: If set to true (default), web server will not require Windows authentication of users in order togive them access to the application. An application can still use forms/cookie-based authentication to implement custom authorization logic to access different part of the application. When set to False, at least one other authentication schema must be chosen.

BASICAUTHENTICATION, type: Boolean.
Recognized parameter name variations: authbasic, basic, basicauth.
Description: If set to true (default value is false) and Anonymous schema is not selected, browser will require user to supply username and password. Web server does not use supplied username and password on its own and application logic would have to make final authorization decision - unless Basic Auth Against Windows setting is also set to true, in which case web server will allow access to the application if client user could be successfully authenticated against Windows.

BASICAUTHENTICATIONAGAINSTWINDOWS, type: Boolean.
Recognized parameter name variations: authbasicwindows, basicwindows, basicwindowsauth, basicauthagainstwindows.
Description: If set to true (default is false) and Basic authentication schema is selected, web server will authenticate client user against Windows before granting access to the application.

DIGESTAUTHENTICATION, type: Boolean.
Recognized parameter name variations: authdigest, digest, digestauth.
Description: If set to true (default is false) and Anonymous schema is not selected, web server will authenticate client user against Active Domain (but not local Windows user credential store). When Digest authentication is employed, browsers and other clients will send user password as a hash, not as an actual text. HTTP.SYS driver deems this situation impossible for the web server or an application to handle, and requires that user credential store could to provide access to hashed password, which AD probably does. But still, HTTP.SYS handles Digest authentication completely on its own, always against an AD, and never delegates to the web server.

WINDOWSNEGOTIATEAUTH, type: Boolean.
Recognized parameter name variations: authnegotiate, negotiate, authwinsnegotiate, authwindowsnegotiate, negotiateauth, winnegotiateauth.
Description: If set to true (default is false) and Anonymous schema is not selected, client will be required to authenticate against Windows using Kerberos. Authentication will fall back on NTLM if client does not support Kerberos.

WINDOWSNTLMAUTH, type: Boolean.
Recognized parameter name variations: authntlm, ntlm, authwinsntlm, authwindowsntlm, ntlmauth, winntlmauth.
Description: If set to true (default is false) and Anonymous schema is not selected, client will be required to authenticate against Windows using NTLM.

PORT, type: Int32.
Recognized parameter name variations: tcpport.
Description: TCP port number for hosting an application. If not specified or set to 0, system will find a free TCP port and use it.

QUERYSTRING, type: String.
Recognized parameter name variations: qs, query.
Description: URL query string to be used when starting web application from the command line. It's the part that usually follows '?' in URLs displayed in browser's address bar.

BROWSER, type: String.
Recognized parameter name variations: bro.
Description: File system path to web browser's EXE. If not specified, default browser will be launched pointing to the web application hosted by this interactive web server. Specify 'none' or 'nobrowser' to start hosting a web application without launching a web browser.

ADDITIONALBROWSERCOMMANDLINE, type: String.
Recognized parameter name variations: broparams, brocmdline, browsercmdline, brocommandline, browsercommandline, additionalbrocmdline, additionalbrowsercmdline, additionalbrocommandline.
Description: Additionial command line parameters for the web browser. Could be used to prevent browsers from merging processes when an application is started.

BROWSERMERGEPROCESSNAME, type: String.
Recognized parameter name variations: mergeprocess, mergeprocessname, bropro, browserprocess, browsermergeprocess.
Description: Name of the in-memory browser process. No need to specify for Internet Explorer, Google Chrome or Mozilla Firefox. Process name is used by the interactive web server to detect whether user has closed the browser, indicating that interactive web server should also exit. Without this parameter specified, applicaiton may quit right after being started if there is an existing instance of the browser already running. When browsers are started with a new page URL, they try to find existing instance of the process and hand page to it for rendering, which looks to the web server as if user closed the browser.

Please donate at http://www.ultidev.com/products/Donate.aspx to help us improve our products.
Guest
#3 Posted : Monday, August 25, 2014 9:27:17 AM(UTC)
Groups:

Message was deleted by a Moderator.
Guest
#4 Posted : Monday, August 25, 2014 8:13:09 PM(UTC)
Groups:

Message was deleted by a Moderator.
Guest
#5 Posted : Tuesday, August 26, 2014 12:50:31 AM(UTC)
Groups:

Message was deleted by a Moderator.
Guest
#6 Posted : Tuesday, August 26, 2014 9:10:38 AM(UTC)
Groups:

Message was deleted by a Moderator.
Guest
#7 Posted : Tuesday, August 26, 2014 11:02:55 AM(UTC)
Groups:

Message was deleted by a Moderator.
Guest
#8 Posted : Monday, November 17, 2014 7:19:54 AM(UTC)
Groups:

Message was deleted by a Moderator.
Guest
#9 Posted : Sunday, November 23, 2014 5:30:57 PM(UTC)
Groups:

Message was deleted by a Moderator.
Guest
#10 Posted : Tuesday, March 8, 2016 2:18:25 AM(UTC)
Groups:

Message was deleted by a Moderator.
Guest
#11 Posted : Saturday, June 4, 2016 4:40:47 PM(UTC)
Groups:

Message was deleted by a Moderator.
Guest
#12 Posted : Thursday, March 1, 2018 7:49:56 AM(UTC)
Groups:

Message was deleted by a Moderator.
Rss Feed  Atom Feed
Users browsing this topic
Guest (5)
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You can vote in polls in this forum.