WebMatrix :: Route All Requests To A Single Page?
Jul 27, 2010Is it possible to route all the request to the same page without displaying the name of the page in the url.
For exemple, how can I route [URL] and [URL] to index.cshtml
Is it possible to route all the request to the same page without displaying the name of the page in the url.
For exemple, how can I route [URL] and [URL] to index.cshtml
I'm trying to make an application that can host multiple ecommerce front ends, so I need to figure out how to route all requests to one class which then parses templates and handles all output.
So my question is then how do I route all requests to one class?
In PHP I would use mod_rewrite and have all requests go to index.php and add "main = new MainClass();", but I have no idea on how to achieve this with ASP.NET
The MVC framework isn't what I'm looking for, since I will host several domains with one system.
Here's the big picture. We're running a server in IIS 6 that hosts several web sites and applications, and we're in the process of moving the whole thing to a different data center with a slightly different setup. We've notified our users and updated our DNS info so that theoretically everyone will be happily hitting the new server from day 1, but we know that someone will inevitably fall through the cracks.
The powers that be want a "Listener" page/handler that will receive all requests to the server and log the entire request to a text file, including (especially) POST data.
That's where I'm stuck. I don't know how to implement a single handler that will receive all requests to the server. I vaguely understand IIS 6 redirection options, but they all seem to lose the POST data on the redirect. I also know a little about IIS 6's built-in logging, but it ignores POST data as well.
Is there a simple(ish) way to route all requests to the server so that they all hit a single handler, while maintaining post data?
I am building a forum based application and was wondering if I had to create a different route for each of the following scenarios: View Forums, View Topics, View Posts, Reply to Topic etc... Is there a single route that I can customize to catch all of these for the folllowing urls?
http://www.samplesite.com/forums
http://www.samplesite.com/forums/{forumID}
http://www.samplesite.com/forums/{forumID}/{topicID}
[code]...
Is there a custom route I can make to catch all of these instead of making a different route for each one?
I tried to mix asp.net 4 webfrom and ASp.Net MVC 3. I add required lines in webconfig, but I've issues implementing route in global.asax
Currently I use several routes for webfroms. routs template are like below
routes.MapPageRoute("Node", _
"article/sport/{nID}/", _
"~/article/articleview.aspx")
I encounter error, when I add below lines to global.asax
routes.MapRoute( _
"Defaultss", _
"{controller}/{action}/{id}", _
New With {.controller = "Home", .action = "Index", .id = UrlParameter.Optional} _
)
I want to know how could I mix ASp.Net MVC routes with webforms routes.
What's the simplest and most effective way to selectively redirect HTTP requests to your ASP.NET page to its HTTPS equivalent? For example, if my page site URL is [URL], I want to redirect some (or all) page requests to [URL] What's the easiest way to do that?
View 2 Replieswhen i run the app i got this error
A route named 'Admin_default' is already in the route collection. Route names must be unique.
Parameter name: name
this is my AdminAreaRegistration
[Code]....
I've found a Webmatrix help article that says MS Webmatrix "publishes the (SQL Server or MySQL) database by creating scripts that run in a database that has been created for you by your hosting provider." That is wonderful, except I can't get it to work when I'm trying to publish a MySQL database (backing wordpress) through FTP (my hosting provider does not support 'web deploy'). Again, no problem, since it is already documented that " FTP protocols cannot be used to publish MySQL database. " But this does not excuse Webmatrix from generating MySQL database install scripts for me. During the publishing step, no database install script is generated - at least that I can tell - and there is no manual option to create a database export / backup / install script.
In short, as Webmatrix goes, I'm dead in the water trying to get my database uploaded to my hosting provider. Does anyone know the trick to force Webmatrix to create the MySQL database install scripts on my local box? Once created, I can take-over the upload and install process.
I'm wondering if it is possible to include Microsoft.Data.Entity.CTP.dll reference to WebMatrix site and if the Compact edition of the database would support it? I'd kinda love use something like
code-first development in my WebMatrix project. I think is even easier than writing SQL-s into the code...
I have implemented a custom ErrorController with NoAccess Action returning the View "~/Error/NoAccess" (not inside the Shared folder).
I have also modified the web.config file and add a custom error "<error statusCode="403" redirect="~/Error/NoAccess" />" node.
Each time i enter to an anauthorized page, i get redirected to the logon page (even though i am already logged on). I would to modify the default asp.net mvc authorization functionality and each time a user tries to enter a page that is not authorized to get an "NoAccess" page instead of redirecting to the login page.
I have 2 forms, one is filled out when a quote is supplied to a customer, if this quote is succesful a project is created and added to the database. On my form I have 2 buttons, one to simply submit the quote information to the database and I would like the second to, when clicked submit the information to the database and then use this information to fill out some of the fields on the Projects form. I have thought about doing this 2 ways:
I read you could use session variables to store the information, or since the data is already in the database, would it be posssible, that if the user has been directed to the projects page from the enquiries page that it fills in the information into the projects form?
I started the Bakery site demo...everything runs fine on my local machine.When I publish the site to production server in w2k8r2+iis7.5 and with .net 4.0 (integrate) pool, my bakery apps not able to connect to the .sdf file.
Error I got is :
Connection string "bakery" was not found. Description: An unhandled exception occurred during the execution of the current web request. review the stack trace for more information about the error and where it originated in the code. Exception Details: System.InvalidOperationException: Connection string "bakery" was not found.
Source Error:
Line 2: Layout = "_SiteLayout.cshtml";
Line 3:
Line 4: FacebookSocialPlugins.Initialize("[xxx]", "[xxx]","bakery");
Line 5:
Line 6: }
Stack Trace:
[InvalidOperationException: Connection string "bakery" was not found.]
WebMatrix.Data.Database.OpenNamedConnection(String name, IConfigurationManager configurationManager) +132
WebMatrix.Data.Database.Open(String name) +42
System.Web.WebPages.DatabaseConnectionInfo.Connect() +43
System.Web.WebPages.SimpleMembershipProvider.CreateTablesIfNeeded() +42
System.Web.WebPages.WebSecurity.InitializeMembershipProvider(SimpleMembershipProvider sMembership, DatabaseConnectionInfo connect, String userTableName, String userIdColumn, String userNameColumn, Boolean createTables) +70
System.Web.WebPages.WebSecurity.InitializeProviders(DatabaseConnectionInfo connect, String userTableName, String userIdColumn, String userNameColumn, Boolean autoCreateTables) +51
System.Web.WebPages.WebSecurity.InitializeDatabaseConnection(String connectionStringName, String userTableName, String userIdColumn, String userNameColumn, Boolean autoCreateTables) +52
FacebookSocialPlugins.InitializeMembershipProviderIfNeeded() +54
FacebookSocialPlugins.Initialize(String appId, String appSecret, String membershipDbName) +171
ASP._PageStart_cshtml.Execute() in d:xxxakery\_PageStart.cshtml:4
System.Web.WebPages.StartPage.ExecutePageHierarchy() +15
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +33
System.Web.WebPages.WebPageHttpHandler.ProcessRequestInternal(HttpContext context) +207
I know we can use the HTML helpers, but how about the strongly typed one's?
Html.LabelFor()
I struggle with publishing 2 databases from WebMatrix using WebDeploy. On Publish settings screen I specify 2 different connection strings, but on Publish Compatibility screen Database names in both destination connection strings are equal. When I return to settings screen, original value is replaced there as well.
How destination server connection strings are evaluated? Here are connection strings from the root web.config file, which are set by hidden parameters in my parameters.xml:
<connectionStrings>
<add connectionString="Server=(local);Database=xxx;Uid=xxx;Pwd=xxx" name="xxx" providerName="System.Data.SqlClient" />
<add connectionString="Server=(local);Database=xxx2;Uid=xxx;Pwd=xxx" name="xxx" providerName="System.Data.SqlClient" />
</connectionStrings>
If I create two websites using the starter site template logging into one shows me logged into the other.
Here are the steps:
Create starter website called website1 Create starter website called website2 Run both websites in the same browser, firefox Register an account in website1 Log out of website1 Log back into website1 Refresh website2 and it shows my login name from website1 Has anyone else encountered this?
I downloaded WebMatrix thinking I could create a local Intranet page and simply host it from my server. Can I do this with WebMatrix? If so how?
View 1 RepliesI'm often experiencing that keyboard shortcuts stops working in WebMatrix. This is very annoying as CTRL-S, CTRL-C, CTRL-V, etc. stops working, all of which are heavily used when programming. It's obviously hard to explain how to reproduce this, but I waswondering if someone knows a quick-fix?
View 12 RepliesI have a url that I want to map routing to:
[URL]
where tabvalue is one of: "personal", "professional", "values" or nothing.
I want to map it to a route like:
Member/Edit/{tab}
But my problem is - I don't know how to specify such constraints. I'm trying this regex:
^[personal|professional|values]{0,1}$
but it only works when I use url
[URL]
[URL]
and doesn't work for
[URL]
how to specify the correct constraint?
P.S. I'm not using MVC, just asp.net WebForms
I have an MVC page that has a webforms page that it needs to render:
The virtual directory for the webforms page is:
http://mysite/Report/1
File saved:
~/Areas/Accounts/Views/Invoices/Report.aspx?id=1
How do I map this?
I have mapped it to controller:
return Redirect("~/Areas/Accounts/Views/Invoices/Report.aspx?id=1?id=" + id);
But I get an error.
There I was, happily coding webpages, when suddenly it wouldn't run them anymore. Now when I click run I get an error message that looks like this: Server Error in '/' Application.This type of page is not served. Description:The type of page you have requested is not served because it has been explicitly forbidden. The extension '.cshtml' may be incorrect. Please review the URL below and make sure that it is spelled correctly.
Requested URL: /quiz/intro.cshtml
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1
My hosting company states they support .net and razor. However after uploading my website made with webmatrix and razor *.cshtml pages. When i visit my website all i get is 404.17 error messages. As an testcase i decided to add an standard .aspx page. Visiting that page gives the same 404.17 error message :-(
.
According to my webhoster my web.config is wrong. However that one is generated by webmatrix. Besides my *.cshtml *.aspx a lot of files and directories are added to the bin folder. What can i check and what should my hosting provider check. When using the check compatibility the asp.net version is shown as unknown? My hosting provider claims my site is running asp.net 4.0 in integrated mode and that should be enough.
It's unfortunate that Microsoft WebMatrix (beta) doesn't recognize that files has been modified. I suggest you implement a feature similar to Visual Studio, allowing the user to decide what to do if the file has been modified outside WebMatrix. Especially when you have a button to launch the project in Visual Studio, it should have better support for "dual-development", cause at it is now, code can be overwritten by mistake easily.
View 3 RepliesI got the first beta of WebMatrix, downloaded Drupal, and got a site more or less going. I then tried to move it to two different hosts - first the IIS server running on my own domain controller, then to my hosting service. I dumped the DB with mysqldump, and imported it to the databases running on each server. Then I ftp'd the code and configuration files to both servers, and made appropriate configuration changes (primarily the mysql connect string).On both servers I have the same problem: The site comes up in its home page and looks great, but as soon as I log in as the site admin, I get a 404 (not found) error. Since it looks like virtually everything in Drupal is driven from the database, I really haven't the faintest idea where to start debugging this.
View 3 RepliesWhen I open my page in Chrome and use the Resource Tracker, at the bottom of the list of requests, there are two GET requests to the aspx file. They take about 2 seconds each. Each request also causes a warning:
Resource interpreted as image but transferred with MIME type text/html.
why a page may be requesting itself, and why it is trying to use it as an image?
After a user logs off from our web-site we need to fire off some HTTP requests to 2-3 other external urls (we don't need a response from these btw).
The url request must be performed on the client as the requests will cause a log-off to be performed on these external sites on the users current session.
The only way I thought that this could be achieved would be to render some invisible iframes and set the url to each of them so that when the page loads the requests will be executed.
Is there another way this could be achieved? The above solution seems a bit hacky.