Configuration :: Providing Source Code But Preventing From Reusing?
Apr 8, 2010
Our company has developed its own CMS system and there is a requirement that customers may purchase the source code for this system but only to be used for the one application (1 domain).My question is, is it possible to give them the source code but prevent them from reusing it to run another site (domain) for it.
My first thought was to have some license checking mechanism or have an uncompiled dll that checks the domain but obviously if they have the source code they can simply remove this code or checks.
We have some problem in develepment server so we didnt recover the our project source code (asp.net 1.x with C#). now i have downloaded the files from the production server but the production server doesnt have the C# source code. its contain only the .dll file (singe dll file for all the aspx.cs and .cs classes) and design files. we need to update some functionalities in my project,so can i get .aspx.cs and .cs clasess from the project .dll? or how can i modify the clacess without source(.cs,.aspx.cs)?
If I deploy my ASP.NET project to a shared server web hosting, then is there a way to secure my source files so that the provider will not be able to access the source?. For example, the provider of my web hosting may download my files and then he will be able to get access to all my source.
how to make my source code to display on one line instead of multiple in source view. The display drives me batty when I'm trying to find something and I would prefer to display across the page instead of multiple lines down the page.
I'm currently using a certain ItemTemplate for three repeaters that are all on the same page, but they are all bound to different data sources. Is there any way to refactor my web form without using a user control to easily refer to this template so I will only have to define it once?
I have a custom collection PagedList<T> that is being returned from my WCF service as PagedListOfEntitySearchResultW_SH0Zpu5 when T is EntitySearchResult object. I want to reuse this PagedList<T> type between the application and the service. My scenario:
I've created a PagedList<T> type that inherits from List<T>. This type is on a separated assembly that is referenced on both application and WCF service. I'm using the /reference option on the scvutil to enable the type reusing. I also don't want any arrays returned so I also use the /collection to map to the generic List type. I'm using the following svcutil command to generate the service proxy:
"C:Program Files (x86)Microsoft SDKsWindowsv7.0ABinNETFX 4.0 Toolssvcutil.exe" /collectionType:System.Collections.Generic.List`1 /reference:.... inDebugApp.Utilities.dll http://localhost/App.MyService/MyService.svc?wsdl /namespace:*,"App.ServiceReferences.MyService" /out:..ServiceProxyMyService.cs The PagedList object is something like: [CollectionDataContract] public partial class PagedList<T> : List<T> { public PagedList() { } /// <summary> /// Creates a new instance of the PagedList object and doesn't apply any pagination algorithm. /// The only calculated property is the TotalPages, everything else needed must be passed to the object. /// </summary> /// <param name="source"></param> /// <param name="pageNumber"></param> /// <param name="pageSize"></param> /// <param name="totalRecords"></param> public PagedList(IEnumerable<T> source, int pageNumber, int pageSize, int totalRecords) { if (source == null) source = new List<T>(); this.AddRange(source); PagingInfo.PageNumber = pageNumber; PageSize = pageSize; TotalRecords = totalRecords; } public PagedList(IEnumerable<T> source, PagingInfo paging) { this.AddRange(source); this._pagingInfo = paging; } [DataMember] public int TotalRecords { get; set; } [DataMember] public int PageSize { get; set; } public int TotalPages() { if (this.TotalRecords > 0 && PageSize > 0) return (int)Math.Ceiling((double)TotalRecords / (double)PageSize); else return 0; } public bool? HasPreviousPage() { return (PagingInfo.PageNumber > 1); } public bool? HasNextPage() { return (PagingInfo.PageNumber < TotalPages()); } public bool? IsFirstPage() { return PagingInfo.PageNumber == 1; } public bool? IsLastPage() { return PagingInfo.PageNumber == TotalPages(); } PagingInfo _pagingInfo = null; [DataMember] public PagingInfo PagingInfo { get { if (_pagingInfo == null) _pagingInfo = new PagingInfo(); return _pagingInfo; } set { _pagingInfo = value; } } }
1) the user signs up for the first time. They see 3 different screens, their basic user information, their credit card, and some additional profile information. They complete these 3 steps in a wizard like fashion, where each time they hit "submit" they leave the current screen and move on to the next.2) the user already is signed up. He has links in the navigation to these 3 seperate pages. He can update them in any order. When he hits save, he doesn't leave the page he's on, it just shows something at the top that says "Credit Card Info saved..." or whatever. Possibly using ajax or maybe a full page refresh.I would like to reuse the code not only the view but also in the controller for these 3 screens between the two workflows, but without a ton of if...then logic to determine where to go next depending on whether its a first signup in the wizard or updating individual parts of a profile.
Web service error response (code/message etc) would you store it in a database? or would you keep the error response in a method.By the time I'm done with this, there will be hundreds of error response, maybe in the future, thousands? (I dont know yet, depends how large this web service grows).EDIT: error response is the response returned back to the application via the web service, (not to be confused with error logging).
When IIS restarts an ASP.Net (2.0) web application, it can either:
Recycle the AppDomain: Unload the AppDomain and load a new AppDomain on the same process (e.g. when HttpRuntime.UnloadAppDomain() is called, when web.config is changed). Recycle the process: unload the AppDomain and load a new one on a new process (e.g. when invoking Recycle command on an AppPool via inetmgr, or when memory limit is reached).
Due to some internal reasons (trouble with legacy native code we depend upon), we cannot allow the first option. We just can't load the application twice on the same process.
Can IIS be somehow told to never allow worker process reuse?
I've tried preventing it myself by tracking whether an application has already started on a process once using a Mutex, and if so - throwing an exception during Application_Start()); I've also tried terminating the process by calling Environment.Exit() during Application_End(). The problem with both methods is that it causes any requests that arrive during Application_End or Application_Start to fail (unlike a manual process recycle, which fails absolutely no requests because they are redirected to the new process right away).
I am doing SOA architecture and the data base is in service side ie.within the project(website 7)
how can i can mention relative path for the data source ?
OleDbConnection aConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\sathiyabalu\My Documents\Visual Studio 2005\WebSites\WebSite7\App_Data\alumni_member.mdb");
I have inherited a VS 2008 project that hosts 5 services in a web directory and am attempting to add a new service. The existing services all work well, and my service is working except when I tried to add authentication like the existing services have using the membership.ValidateUser method. The SOAP request runs for ~18 seconds, and an exception (listed in full below) is thrown with a "network-related or instance-specific error". Other services validate the user, run some code and return in about 500 milliseconds, I think it is safe to assume I am hitting a timeout.
What makes this odd is that the new service lives in the same web application directory as the old services. It uses the same web.config file. I had been intensely reading posts and documentation related to the "network-related or instance specific error" until I noticed the Data Source in the connection string was not a name I am familiar with.
I changed the Data Source to be the name of the machine where the services run (thereis a database called membership on there), and I instantly got kicked out with an exception because the database login credentials were incorrect. Still confused as to why the new service would have this problem, I set out to find this data source. Running the SQL 2000 Server Network Utility doesn't list this instance. osql /L only lists the (local) instance. How do I find this instance? Why does my service not see the instance as the other ones do? More information listed below.
Server is Server 2003 Standard SP1, IIS 6
SQL Server 2000 is the DB
Each service is a C# Windows forms project (is there any valid reason to do this?) that has been changed to output a class library.
Services inherit from the webservice class.
A final project in the solution is an ASP.NET web application that has dependencies on all the other projects and hosts the asmx files which simply refer to the C# classes from the other projects.
Authentication is using Membership.ValidateUser against SQL server 2000. The web.config contains this:
I have 2 connection strings which connect to the same database. I used the exact same syntax for both of them, the only difference is the address which they point at.
The "ApplicationServices" connection string functions just fine.
The "GoMelodyEntities" connection string produces Keyword not supported: 'data source'.
Out of all the projects that contribute to MVC, I've added only the System.Web.Mvc project to my solution and I'm having trouble with the compilation of the aspx files. Firstly the page compiler complained that ViewResult<T> (which my View inherits from) was specified in two assemblies - the copy in the source code and the one in the GAC. I fixed this by changing my copy of the source code to a higher version and referencing the different verison within the 'compilation' tag in web.config. (In fact you can just delete the assembley reference altogether and it automatically uses the one in the solution.) Then it complained that Html helper methods couldn't find classes such as 'Controller'. Now I think this is because the official MVC assemblies in the GAC are looking for the correct version of 'System.Web.Mvc' (i.e. the one with the right public key) but my app is no longer referencing it.
I thought I'd fixed this with an assembley redirect to my version of the code but now the View templates are complaining about inheriting from classes that are in an assembley with the wrong public key.So is what I'm doing possible or do I need to be recompiling all of the MVC source code?
Is there a way to confige IIS to open a database(s) at server level and other application just reference the database handler(pointer)? For an example in Tomcat or Resin, we can specify a set of database souece in the configuration file so the Tomcat or Resin starts, these database will be opened. And rest of applications can reference these datasource handler/pointer in their individual application web.config files.