Web Forms :: ASP.NET Routing Woes, How To Catch All Only Works
May 17, 2010
I'm in need of some serious help that has been plaging be for a long time. I have built a custom ASP.NET route handler for handling my product navigation. And my URLS keep breaking.There are so many variations of the manufacturers and thier respective models, that I have been forced to use a massive regular expressions to verify which page to route to and which members and thier properties to populate.
I have an ASP.NET web application(webforms,not MVC) developed in VS 2008 and i have implemented ASP.NET web forms URL routing by following this link [URL]
It works pretty good when i run it on the Visual studion IDE.But does not works when i created a site under my IIS (IIS 5.1 in XP) and deployed the same files there.I have set ASP.NET version as 2.0 in the Properties window of my application too.But does not work.
I have an ASP.NET web application(WebForms,Not MVC) developed in VS 2008 and i have implemented ASP.NET web forms URL routing by following this link [URL]It works pretty good when i run it on the Visual studion IDE.But does not works when i created a site under my IIS (IIS 5.1 in XP) and deployed the same files there.I have set ASP.NET version as 2.0 in the Properties window of my application too.But does not work.
I have a new MVC3 project with one Controller called PublicController.cs which contains 4 identical methods for testing out how routing works. The only difference between them is their name, and that they each point to a different view ...
public class PublicController : Controller { // // GET: /Public/ public ActionResult Index()[code]....
My web-server is shared hosting with netcetera, using a sub-domain for this deployment (previously had problems with MVC in virtual directories, but have full blown MVC2 apps running in sub-domains no problem). I've deployed by using the "Publish to file system" option, then copying over the files aswell as just copying the entire source project over. Both give identical results.
Here is the code copied from [URL] In asp.net code behind, I use try-catch try to catch any error but never catch it. In SQL database, if I rename Employees to Employeesx or change column DepartmentID to DepartmentIDx, record will not be deleted (it is right) without any error (it is wrong, suppose catch an error).
CREATE PROCEDURE DeleteDepartment ( @DepartmentID int ) AS BEGIN TRANSACTION DELETE FROM Employees WHERE DepartmentID = @DepartmentID IF @@ERROR <> 0 BEGIN ROLLBACK RAISERROR ('Error', 16, 1) RETURN END DELETE FROM Departments WHERE DepartmentID = @DepartmentID IF @@ERROR <> 0 BEGIN ROLLBACK RAISERROR ('Error', 16, 1) RETURN END OMMIT
I'm a complete newbie when it comes to SQL, and to be honest it frightens the hell out of me too.
I've been running a version of SQL 2008 Express for sometime, however after getting some free software off Microsoft I updated my version of Visual Studio to professional and then tried to update my Express version of SQL to 2008 R1.
I downloaded it from the MS site and proceeded to work through the pre-installation instructions, however I wasn't offered the opportunity of installing a new instance and was then advised there was nothing to upgrade on the version I had installed.
When I go into SQL management studio I can see the database I used to be able to access but can't expand it. My version of SQL is 10.0.2531.whats happening or how to work around it?
Part of it's function will be to write files to other servers accessable via file share on the same domain. With that in mind I enabled impersonation and set up the account. I now get the following error:
The current identity ([domainuseraccount]) does not have write access to 'C:WindowsMicrosoft.NETFramework64v2.0.50727Temporary ASP.NET Files'.
I have gone into the security tab for this directory and added this user with FULL CONTROL, I can reboot the server and re-look at the security tab for this directory and I can SEE that the permission are there.
If I take the impersonation account and make it an administrator it all works fine. Obviously that is NOT what I want to do.This is a windows 2008 R2 server running on a domain. The impersonation account is a domain account not a local account. The impersonation account has been added to the local 'Users' group.
I am stumped. I can see that the account DOES have full permissions on the directory, but the error message persists.Back in the days of Windows 2000 there were steps that had to be taken to set ntfs permissions that would allow impersonation (or even the asp.net) accounts to work properly. I have not found a similar document for Windows 2008 R2.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Threading.ThreadAbortException: Thread was being aborted.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
I even created a global.asax file and on the Application_Error event, I wrote a code that would email me the error (and i'm not getting an email regarding that error when I get the error shown above). I know for a fact that the thread is going inside the "try" statement because I send emails to myself whenever it finishes certain codes inside of it. So how come I'm getting that error in my browser instead of it being handled in my "catch" statement? I have two problems here, one, why is the exception not going to my "catch" statement, and two, why am I getting that error in the first place.
I've been working on a project that's been a rather seat-of-the-pants experience. We have MOSS 2007 and Silverlight 3 installed. We're trying to make use of some new 3rd party software, Visual Fusion([URL] While working through the tutorial I ran into a bit of an issue. All I really have to go on is the guidance package and sample stuff they provided so it's still a little fuzzy. Basically when I debug the project in Visual Studio 2008, instead of loading the default.aspx page, I get this on my browser instead:
Server Error in '/' Application.
Could not load file or assembly 'Microsoft.SharePoint.Search, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. An attempt was made to load a program with an incorrect format.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.BadImageFormatException: Could not load file or assembly 'Microsoft.SharePoint.Search, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. An attempt was made to load a program with an incorrect format.
Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace: [BadImageFormatException: Could not load file or assembly 'Microsoft.SharePoint.Search, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. An attempt was made to load a program with an incorrect format.] System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) +0 System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) +43 System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +127 System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +142 System.Reflection.Assembly.Load(String assemblyString) +28 System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +46 [ConfigurationErrorsException: Could not load file or assembly 'Microsoft.SharePoint.Search, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. An attempt was made to load a program with an incorrect format.] System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +613 System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +203 System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +105 System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +178 System.Web.Compilation.WebDirectoryBatchCompiler..ctor(VirtualDirectory vdir) +163 System.Web.Compilation.BuildManager.BatchCompileWebDirectoryInternal(VirtualDirectory vdir, Boolean ignoreErrors) +53 System.Web.Compilation.BuildManager.BatchCompileWebDirectory(VirtualDirectory vdir, VirtualPath virtualDir, Boolean ignoreErrors) +175 System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) +86 System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) +261 System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) +101 System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean noAssert) +126 System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp, Boolean noAssert) +62 System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) +33 System.Web.UI.PageHandlerFactory.System.Web.IHttpHandlerFactory2.GetHandler(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) +40 System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig) +160 System.Web.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +93 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
I've spent the last few hours poking around for answers and it seems to be related to the fact that I'm running this all on a 64-bit machine, but all the references to workarounds I found were rather vague.
ASP.NET 3.5 SP1 with Web Forms Routing thru Global.asax (System.Web.Routing and RegisterRoutes)IIS 7
Everything is working fine in my local machine, but it gives the following error in my hosting environment:
Could not load file or assembly 'System.Web.Routing, Version=3.5.0.0, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
I did everything inside my web.config file mentioned in the following link:
I have an asp.net2 WebForms project which worked fine, including referencing a dll compiled for .Net2.
Problem is that I have now recompiled the dll for .Net4 and have also 'upgraded' the VS2010 asp.net WebForms project to .Net4 and the asp.net WebForms application won't access the dll.
The first time the dll is called I get System.NullReferenceException: Object reference not set to an instance of an object.
The new dll is accessed by other WinForms applications OK.
Whatever the problem is, VS2010 freezes and I need to use Task Manager to close it down.
I have a Web application where i have added a reference to a RESTful WCF. I got the WCF url Routing to work in my webapplication by adding Inherits="RestService.Global" to the Web applications Global.asax.
But then i tried to create url Routing for the Web application and it does not work with the Inherits="RestService.Global" in the Global.asax. If i take it away it works fine. Is there a correct way to do this.
I'm trying to create my own CMS and I've gotten a little bit stuck at the stage of URL routing.
I want clean URLs without extensions and I'd like to be able to create and modify them in a web based interface without any messing around with IIS or actual files.
I've seen how to create a static route, but for that I need to go into my Global.asax file and manually add it.I would like to have all of these routes stored in a database so that I can easily modify them later.
Does anyone know how this can be achieved?
Just for extra information, I will be attempting to create a feature so that if a path exists, but is later changed, a 301 redirect is created to the new URL, is this also possible? (My first problem is the main issue, but thought I might ask this as well just in case it makes a difference)
How to handle asp.net mvc routing along with asp.net webform routing. I have merged my mvc app into my existing web application. In my web application i have implement routing as below:
routes.Add("View Product Details", new Route("Product/{City}/{Manufacturer}/{Name}/{ProductID}/{*ProductType}"));
Similarly i have implemented routing in mvc as below
I have a property call (add user to a group) that would be hard to write code to check if user is already in group and I need to call it multiple times sometimes for the same group. anyhow it throws an error if user is already in group. easy way if to just put in a try catch and do nothing for the catch. it works fine except there are several errors in the application event log for this error when it happens. I would rather it not to log this error as it takes up time when looking in the event log to say - this is not a valid error log. so is there a way to tell a try catch to not log in the event log an error it is catching? I would rather not change any settings for the whole site but perhaps just this 1 page might be acceptable.
Should I write it for each method or only in event handlers or ????
What happens when an exception occurrs? What is the stack for exception?
If I use it at entry point (event handlers) then how do I get actually at which line error occurred?
Suppose an exception was thrown from Data Access Layer How do I get it in presentation layer that exactly in which class method at which line why that error occurred?
Is it true that excessive use of try catch makes application slow?
I want to know how to handle the concurrency throughy code ? ie: I want to access the Concurrency issue or error ? Because if i get the concurrency user or issue I have to do some manipulation.
Can somebody show me a better approach of looping through a Try -Catch statement. I have something like this:
Try dbConn.Open() Catch ex As Exception errmsg = ex.Message End Try
I need to try to connect 5 times before logging an error. My first thought was to nest Try - Catch 5 levels but I didn't like that idea. I'm sure there is better solution to it.
I come from a VB environment. I'm looking at 2 different file extensions. If one doesn't exist look at the next. I was hoping to use the try/catch function. I can get it to find the first extension but not the second. Here is my the try/catch part of code:
The error dialog that pops up shows Connection Error in the title and a yellow exclamation point with File Not Found! I thought the FileNotFoundException would work(?).