Monitor non-wallet bitcoin addresses for new transactions This is usual checkout functionality. Show address to the user and needs to monitor it for new transaction during n minutes. Addresses are not unique for each payment. 

Optional:it would be good to have listener for transaction with certain incoming amount, but this is optional.

blockchain.info have something similar, but I want to it using local bitcoin-qt from .Net application.

*Update: this should be done for non-wallet addresses/transactions.
Bitcoin-qt has several limitations when it comes to this type of thing. There are only really two ways to do this.


Use the listunspents RPC call to watch the balance for a particular address, and compute the total balance. Then trigger your call on the backend from your .net application.
Use the external wallet-notify bitcoind option that sends transaction data to your .net process via a script, parse the result to determine the payment. This can cause problems on high volume sites as it spawns external processes per wallet notify.


Finally, you can only use this method to interact with addresses registered to the local bitcoind. Either addresses it controls, or that you have manually loaded.