Nuno's answer points to a post on running ASP.NET MVC and WebForms side-by-side. There's a plethora of information out there on doing so, so I will skip that part of the question as it's not really Tridion-specific.
The crux of your question is this:
We would need to have two different BIN folders for cd_storage_conf.xml file since it for website A it would query only from Broker and website B (May Query from Broker + FileSystem).
You're right to imagine that running two instances of cd_storage_conf side-by-side could get hairy (if it's even feasible). The good news is you shouldn't have to do that at all.
cd_storage_conf gives you the ability to change your storage based on:
- Publication
- Item type
- File extension
You could, for example, store .aspx files on the file system like so:
<ItemTypes defaultStorageId="defaultdb" cached="false">
<Item typeMapping="Page" itemExtension=".aspx" cached="false" storageId="defaultFile"/>
</ItemTypes>
Where defaultFile
is the ID of one of your Storage
elements. Or, you could get more granular and specify by Publication:
<ItemTypes defaultStorageId="defaultdb" cached="false">
<Publication Id="10" defaultStorageId="defaultdb" cached="false">
<Item typeMapping="Page" itemExtension=".aspx" cached="false" storageId="defaultFile"/>
</Publication>
</ItemTypes>
This should give you the flexibility you need and will mitigate the need for multiple "bin" directories.
You'll probably run into some bumps in the road at an application level; however, I see no reason why this couldn't work fine.