Here is an easy reference for how to get different parts of an URL in C#.
I’ve color-coded the example URL below for easier matching with the values of the properties of the HttpRequest.
URL used for this example:
Value of HttpContext.Current.Request.Url.Host
Value of HttpContext.Current.Request.Url.Authority
Value of HttpContext.Current.Request.Url.AbsolutePath
Value of HttpContext.Current.Request.ApplicationPath
Value of HttpContext.Current.Request.Url.AbsoluteUri
Value of HttpContext.Current.Request.Url.PathAndQuery
Posted in Work
Tagged .net, c#, page, path, request, URL
When trying to edit a list from site manager in my SharePoint 2007 environment I got the following error:
File Not Found.
at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
at System.Reflection.Assembly.Load(String assemblyString)
at System.Web.Configuration.CompilationSection.LoadAssembly(String assemblyName, Boolean throwOnFail)
at System.Web.UI.TemplateParser.AddAssemblyDependency(String assemblyName, Boolean addDependentAssemblies)at System.Web.UI.TemplateParser.ProcessDirective(String directiveName, IDictionary directive)
at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding)
Using the trusty old Process Monitor I was able to trace the source of the error to MOSS not being able to load Microsoft.SharePoint.ApplicationPages.dll.
I added this dll (and Microsoft.SharePoint.ApplicationPages.Administration.dll) to GAC and did an iisreset which fixed the issue.
Locations for the dlls above:
- C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\CONFIG\ADMINBIN\Microsoft.SharePoint.ApplicationPages.Administration.dll
- C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\CONFIG\BIN\Microsoft.SharePoint.ApplicationPages.dll
Thanks to the wonderful WordPress 3.5 upgrade some of my uploads and screenshots got deleted… Sorry…
This was not as easy as it seemed. A checklist to get target display mode working:
- Make sure both your iMac and your Macbook Pro are equipped with Thunderbolt. It only works Thunderbolt -> Thunderbolt or Display port -> Display port, no mix allowed.
- Make sure you are using a Thunderbolt cable, display port cables won’t work for newer models equipped with TB.
- Make sure the cable on iMac’s side is turned the right way (you can insert it upside down into the iMac but not into Macbook Pro!).
- Make sure you are using a Mac keyboard, a PC keyboard will not work, even if remapped. Use the small Bluetooth keyboard provided with your iMac.
- Press Command-F2 on your iMac’s keyboard. If your function keys are not used as “standard function keys” (can be set in Settings / Keyboard) – use Command-Fn-F2.
When in target display mode you can adjust the brightness of your iMac’s screen by pressing F1/F2 on the iMac’s keyboard. To go back to regular mode press Command-F2 again.
Seems like Apple broke pppd with one of the latest patches to OSX. My SonicWALL NetExtender stopped connecting unless run as root.
After some detective work I fixed this by changing permissions as follows:
sudo chmod a+s /usr/sbin/pppd
sudo chmod -R a+w /etc/ppp
Hope this helps someone.
Today, my Biztalk ran wild and initiated a bunch of Commerce Server catalog import operations. While trying to find a way to abort all of those I came across the CatalogStatus table in the product catalog database.
According to MSDN this table contains the status of operations in the catalog system. Among other things you can monitor the PercentComplete column for operation progress.
Turns out you can also abort any operation by setting AbortRequested to 1, so the SQL below did the work for me.
SET AbortRequested = 1
WHERE StartDate = GETDATE()-1
Just a quick note, mostly for myself: the following error at sitemanager.aspx depends on view state not being active. The language setting is unfortunately Swedish, so I doubt this will help anyone…
Webbplatshanteraren: ObjectList ObjectList1 är i ett okänt tillstånd. at Microsoft.SharePoint.Publishing.Internal.WebControls.SMObjectList.Handle_LoadCompleteEvent(Object sender, EventArgs e)
Just a short post this time: if you experience symptoms like:
- no one able to edit anything on a MOSS site
- weird permission denied errors for admins
- buttons in the GUI disappearing
then maybe your MOSS site got into read-only mode. Happened to us today, just like that. People swear they didn’t touch anything…
Fix this from central admin.
EDIT: Well, apparently I’m not the only one to experience this issue. This blog post describes the exact situation (which is obviously related to stsadm backups) and also offers a possible solution – adding the –NoSiteLock switch to your backup task.
A small script to quickly restore a Sharepoint 2007 content database from backup:
ALTER DATABASE SITE_WSS_Content
SET SINGLE_USER WITH
ROLLBACK AFTER 5
RESTORE DATABASE SITE_WSS_Content
FROM DISK = 'path_to_backup\SITE_WSS_Content_backup_201201122000.bak'
ALTER DATABASE SITE_WSS_Content
Today my customer’s site manager on their Sharepoint 2007 site went bananas. The context menu used to configure list items shrunk to four items from eight.
Apparently this is a known bug in MOSS that’s supposedly been fixed in a cummulative update from 2009, but hey, here it was. In short the RenderXMLUsingPattern attribute on a Field definition gets lost and has to be set back to TRUE.
I’ve made a little tool to do just that. The tool is attached in the archive below. Call it like this:
MossMenuFix.exe http://my.site.com/web Pages
where http://my.site.com/web is the web address and Pages is the name of the list. More info on this is available here.