My application page doesn't work correctly. In error log I could find this:
Detected use of SPRequest for previously closed SPWeb object. Please close SPWeb objects when you are done with all objects obtained from them, but not before.
In my application page in code behind I have all snippets of code in try-catch blocks.
The question is why when such situation(described in log) appears the control doesn't go to catch statment? Instead of that the internal SharePoint error appears on screen.
Regards
The reason it is not going to your catch block is because the message being logged is just a warning, it doesn't interrupt the execution of your code.
Use SPDisposeCheck to pinpoint the origin of the message.
Related
I have a SharePoint site page with a document library web part on it, once a document is uploaded to this library, some of the library fields need to be updated according to a parameter of the page url.
I tried doing this with Event Receiver binding on the library, only to find that I cannot get the page url, or rather the parameter, in the Event Receiver. Then Session occurred to my mind, but after asking around and searching a lot, I can only get HttpContext in itemAdding but not itemAdded, what's worse, HttpContext.Current.Session always give me nulll and I'm sure I have put some value into session earlier in somewhere else.
Can someone shed some light on this, any help or advise is deeply appreciated.
SharePoint allows synchronous and asynchronous event receivers. You can get access to HttpContext and SPContext in synchronous receiver, as it runs in worker thread. Read more for accessing HttpContext and how to bind synchronous receiver programmatically.
It's a bit late but for reference I've just seen solution on this page.
It leverages custom control in master page and stores the information into HttpRuntime.Cache. Then access it from within the synchronous event.
The event receiver is not called in the page context. Therefor you can't access the page information. The only approach to this that I can see is to write custom code that prefills the values of the page before you save the item.
We have been getting an error prompt/alert in our XPages application at random times:
"An error occurred while updating some of the page...status:12152" and
"An error occurred while updating some of the page...status:12029"
We can't seem to pin it down to anything. Maybe someone has an idea of what these errors are referring to or maybe how to track it back to something? Thanks.
The HTTP 12152 error usually points to a network connection issue rather than anything specific to the browser or the Domino server.12029 again is down to an inability to make a connection to the server.
It sounds like the network connection is intermittent. I don't know what tools there are to test that, but I would suggest confirming you have a good, stable network connection between PC and server and that it's not getting negatively impacted by a firewall.
It looks like your application is trying to partially refresh content on the screen, and that this partial refresh fails. This can be because the component with that id is no longer found in the component tree.
Have a look at your XPages source code for controls with an id of MainContent and refreshPanel3 and find any partial refreshes on those controls. Check the rendered/loaded property for these controls to see if they are hidden in certain cases. If you do not render a control and want to display it using a partial refresh, you must partially refresh an outer component that contains the non-rendered control.
Use browser's network debug (F12 in Chrome/IE/Firefox w Firebug) to get real server response, it usually contains error page with more info. Failed partial refresh should be the last POST request.
I have a SharePoint 2010 solution. I have a List Definition and an event receiver associated with the definition. I have a list instance associated with the definition. The event receiver has a single method, ItemDeleting, that was working for several days up until some point yesterday.
I am working off my dev box, 2008R2, and am deploying directly from VS2010. When I set a breakpoint and delete an item on the list I never hit the break point. I built the package and deployed the solution to a demo box and the event receiver does fire there just not on my dev box any longer. I have dropped the content database and restored and tried a few other things but the event still will not fire.
Where should I look to resolve this issue?
I had a similiar issue happen where a click event never made it to the handler just as if the event had been swallowed. In my case, I finally found that an exception had been thrown which short-circuited the event.
Check for a exception being thrown somewhere.
Check if the DLL that contains the Event Receiver is located in the GAC.It could be a deployment problem.
Have a look at the "manifest.xml".
SharePoint web site = http://myexample:3500
SharePoint tester (admin on domain, admin on SharePoint site collection) = IAmKyle
Alternate Access Mapping: I left it at the default which is http://myexample:3500 maps to itself, and the zone is "default".
My code was deployed as a farm solution and my .dll is in the GAC. I activated a feature on my site collection (url is above). What the code does is, when the user updates a SharePoint item, my code executes a LINQ query finding "related" items. Then the related items are updated. Here are the errors I get:
On Windows Event Logs:
Error loading and running event receiver [my receiver assembly]. Object reference not set to instance of an object.
On SharePoint ULS event logs:
Same error as I see in Windows Event logs. Also, I was getting errors about "alternate access mapping" not being configured for http://myexample:3500 but I'm not getting them anymore. Don't know why, I haven't changed anything.
On IIS logs
Getting some 401 responses for pages that I should be able to access. But, it only shows the tail end of the page in some cases e.g. "/mysite/mypage" so I'm unsure what the full URL is.
These errors are very confusing, my code 100% works on my test system. What network or sharepoint configurations should I be looking for? I'm assuming my code itself works fine considering that it does work on my test environment. Of course, I have more permissions on test since my username on test is the user who created the farm.
Thanks.
Do you get these errors when trying to activate the feature or when actually making a change to a list item?
Also, have you tried attaching the VS debugger to the process and having a look at what is going on?
I am using form based suthentication in my site. I have used one custom user control in my site which read items in sharepoint list and display it in a grid. Everything works fine with windows authentication but when I change the authentication to form based the login process get fails. I see the Error log it is giving me an error saying that
"An SPRequest object was not disposed before the end of this thread"
Then I have dispose all my spweb and spsite object that I have used in user control but still login process is not wotking.
Thanks in advance
Try not disposing your SPSite object within your method.