I’ve been using CMAB for sometime now and the only big crib that I have against it is that it doesnt support environment variables for specifying things like the path of the actual configuration file [One of the projects that does is Log4Net] I’ve looked at the code and supporting environment variable expansion shoudlnt be too difficult to do. I’ll post a suggestion in and see what happens.

Read more →

Probably I’ve been living in a cave…​but looks like we’ve got a release of the enterprise library. "Summary The patterns & practices Enterprise Library is a library of application blocks designed to assist developers with common enterprise development challenges. Application blocks are a type of guidance, provided as source code that can be used "as is," extended, or modified by developers to use on enterprise development projects. Enterprise Library features new and updated versions of application blocks that were previously available as stand-alone application blocks.

Read more →

I noticed this strange behaviour and thought its worth a post - till I find a solution/explanation. Scenario: I have a custom web service running under sharepoint. This means that the .asmx is in "c:\Program Files\Common Files\Microsoft Shared\web server extensions\60\ISAPI" and the binaries in the bin folder under it. The url of the web service is http://aditi277/XTeam/spaces/outlooksynch/_vti_bin/OfflineServices.asmx The _vti_bin has NTLM authentication enabled. When I paste the url in a browser, I go straight through to the page without any authentication!

Read more →

Just discovered something great - Inkscape - go grab a copy and enjoy…​

Read more →

I’m almost through with a decent logging implementation for a Web service running under Windows Sharepoint services. Here are some hard earned lessons: I could not use Global.asax for a sharepoint hosted web service. The Sharepoint web services Global.asax derives from stssoap and when I included the code in a C# script block, the code never got invoked. Also, the concept of an application is not useful in the case of web service - since a single web might be used to host multiple services.

Read more →

I’ve been trying to get decent logs on web application/web service. Its critical in cases where you dont have remote debugging access on the server. I’ve been using Log4Net for over an year now and it’s saved me more than once. It’s the first time that I’ve tried to use it in a web scenario. There’s just a couple of things to keep in mind: Usually the worker process runs under the ASPNET account - this doesnt have rights to logon and doesnt have an associated console.

Read more →

Great article. Gives some very valuable information on implementing sets with a finite universe. It doesn’t suit my requirements - I need to represent sets where the universal set might be infinite - like, say the set of strings. The trouble starts with trying to implement the set complement operation - you can’t obviously list an infinite set, so the trick is to represent it as a cofinite set.

Read more →

And now I need to roll out my own version of a set datastructure library. C# has hashmaps - they come close but aren’t really sets. You can use them to implement sets, but that’s about it. Also, I want my sets to conform to one of the standard collection interfaces so that they can interoperate with code. And I REALLY REALLY need set intersection, set union and set difference!

Read more →

I’ve this need to calculate a file fingerprint in VB6. So the need to access CrptoAPI in vb6. Didnt want to do win32 calls from VB and thankfully MS has a COM layer over cryptoAPI called CAPICOM. Useful stuff…​as the MSDN site says "Summary: CAPICOM is a new security technology from Microsoft that allows Microsoft Visual Basic, Visual Basic Script, ASP, and C++ programmers to easily incorporate digital signing and encryption into their application.

Read more →

ASPAlliance.com : ASP and ASP.NET Tutorials : The LogonUser API Finally found a way to allow ASPNET user access to the LogonUser api. Guess what, WinXP and above, no specific permissions are required! Cool.

Read more →