WCF Developers,What’s new on .Net 3.5 March CTP

Hi Folks,

One of the most important questions for all .net developers,since most of the developers are new on .net 3.0 and its technologies,and meanwhile they heard on .Net 3.5 Beta releases and CTP (now March CTP is availble),to know main changes and difference/fixes and new features on .Net 3.5,i will advice all of you to read Thom Robbins Blog Post for the details of the changes on .Net 3.5 :

http://blogs.msdn.com/trobbins/archive/2007/02/28/microsoft-pre-release-software-visual-studio-code-name-orcas-march-2007-community-technology-preview-ctp.aspx

Hope this helps… :)

Regards,
Moustafa arafa

Problem when installing SQL 2000 Reporting services with .Net 2.0

HI Folks,

if you have .net 2.0 on your server and you want to install SQL 2000 Reporting services, the installation will show that ASP.NET 1.1 is not registered on your web server even if you run aspnet_regiis command for asp.net 1.1 on yor web server.

To resolve this problem :

1) Un Install asp.net 2.0 from your web server by running the command :
aspnet_regiis -u

2) Register asp.net 1.1 :
aspnet_regiis -i

3) Install your SQL 2000 Reporting Services.


4) install your asp.net 2.0 on your web server.
aspnet_regiis -i



Hope this helps.

Regards,
Moustafa arafa

Loading Controls Dynamically problem on ASP.Net 2.0

Hi Folks,

If you load your controls dynamically on asp.net 2.0 web site,you will face a problem that all handlers of server side controls doesn’t work and not fire on the server side.

Even you try to put a break point on your server side handler,it will not fire,this is not because of a problem on any of your user controls or your code has something wrong.

the problem is : if you try to write the same line of code on asp.net 1.1 web application this problem will not happen at all,and if you tru to load the same controls on asp.net 2.0 web site the problem will happen.

The solution and Tip for this problem,is to just give an ID for your user control which will be loaded dyamiccly,and the problem will not happen.

This the code which run on asp.net 1.1 perfectly and doesnt run on asp.net website :

C#:
PlaceHolderID.Controls.Clear();
Control c = Page.LoadControl(”UCPath”);
PlaceHolderID.Controls.Add(c);


The Solution :
C#
PlaceHolderID.Controls.Clear();
Control c = Page.LoadControl(”UCPat”);
c.ID = “IDForYourControl“;
PlaceHolderID.Controls.Add(c);


Hope this helps.

Read more on the problem and the solution on Scott Blog :
http://scottonwriting.net/sowblog/posts/3962.aspx







Regards,
Moustafa arafa

Mount your ISO Images on Vista

Hi All,

I tried to mount ISO images and image files on windows vista,and i try all tools i used to mount images and it didnt work on vista.

i looked for a new tool,i found a free new tool to mount your images and ISO files on vista,easy to use…download it now :

http://www.howtogeek.com/howto/windows-vista/mount-an-iso-image-in-windows-vista/


Regards,
Moustafa arafa

WCF Security Limitations

Hi Folks,

i discovered some points which you have to take it in your consideration if you are working to deisgn a WCF solution,specially the security issues with WCF :

1) You can’t apply Message Level security with WCF Streaming which is used to pass Large binary data between the service and WCF Clients.

2) In Case you want to apply WCF Streaming on your WCf Host,you have to change your security level from message to transport level.

3) Maximum received message size to a WCF service is 64 KB;if the message exceeds this limit size the WCF runtime will throw an exception.

Note : if you want to increase the Max. Message Size,on the Bindings properties you can change/increase the message size as per your request.


Hope this Tips helps WCF Architect and Developrs :)

Regards,
Moustafa arafa

Implementing a WCF Service with High Performance

Hi Folks,

WCF gives the developer the tools to provide high performance for your WCF Service,once of the key features to provide high performance WCF Service caled “Service Throttling”;this concept simply provide you the values you want to set to manage the following:

1) Maximum Concurrent sessions.
2) Maximum Concurrent Calls.
3) Maximum Concurrent Instances.

These values should be set on the host app of the service,and the admin has to monitor the server which host WCF Services to monitor the perfomance of the running WCF services.

To Implement Service throttling on your service,you have to write this code before open the serviceHost Object :

// Required for the ServiceThrottlingBehavior class
using System.ServiceModel.Description;

ServiceHost host = new ServiceHost(…);
ServiceThrottlingBehavior throttleBehavior = new ServiceThrottlingBehavior();
throttleBehavior.MaxConcurrentCalls = 40;
throttleBehavior.MaxConcurrentInstances = 20;
throttleBehavior.MaxConcurrentSessions = 20;
host.Description.Behaviors.Add(throttleBehavior);
host.Open();


Note : that we set these values before open the servicehost object.

Take care of the following Tips :
1) Default Concurrent Instances is Int32.Max = 21474836467
2) Default Concurrent Calls is 16
3) Default Concurrent Calls is 10


Hope this helps for WCF developers :)




Regards,
Moustafa arafa

Why Choose Team System ?

Hi All,

Alot of customer in the market still need to know the value of using Team System in your environment;Implementing TeamSystem in your organization is not just a developer tools,it manage the SDLC andincrease the productivity of your teams.

please read more on this,by reading the use cases of Team System on 1 central Place :

http://msdn2.microsoft.com/en-us/teamsystem/bb676820.aspx

Note : First CTP of Rosario (August CTP)- Next version of Team System is available here :

http://www.microsoft.com/downloads/details.aspx?FamilyId=8450EFF5-24AD-44C3-AB91-1ED88EF2F4F0&displaylang=en


Regards,
Moustafa arafa

Reliable Sessions on WCF

Hi folks,

WCF give a greate feature called Reliable Session,when you enable the reliable sessions on your service and your clients,you give your clients a very great advantage which is the client app can sends messages to the Service without waiting for the service reply.

One will ask ? what’s the harm for the client app to wait for Service reply ? if the service is busy,and client will wait and blocked until getting the response fro mthe service.and if you put a timeout for your bindings,then excpetion will be thrown against your client.

another point,in cases like client wants to invoke the serivce and doesnt want to wait,you will use the OneWay operation attribute on your service but this will lead to the blocking of your client until getting the response.to avoid this just enable the reliable sessions property on your bindings on the service and the client.

Note : mark your serivce as ConcurrencyMode.Multiple attribute will not avoid the client blocking,but it will change the way of the serivce how it deals with the incoming messages since the default mode for all services is single threaded.


Hope this tips helps……….. :)



Regards,
Moustafa arafa

OneWay Operation in WCF

Hi Folks,

This post is showing one of the key important features available on WCF as a unified Communication platform,as a .net developer you can read this post and understand the changes and theu pdates that have been done on the WCF.

Simply,WCF is to create WCF Services,these services can be consumed or used by client app.

if you are familiar with Web services,you can understand the idea of this post wich is the OneWay Operation in WCF.

simply Operation is your service or function in your service;since your service can have more than operation .

What does “OneWay operation WCF ” ? it means when the client try to consuem oyur service,it doesnt need to wait to get the respornse of the service.

this is cool,this means that it gives the same behavior of the asynchronous call on Web Services;but since we have more than 1 way to implement Asynch Call in the WCF;this one of the options.

How to mark your operation as a OneWay Service

[OperationContract(IsOneWay = true)]
void MyOperation(string id);


Cons :

The OneWay Operation has to be Void and you cant return any value or even valyes by ref or out parameters.


Tip : in case you choose your operation as a oneway operation,dont forget to put the Receive and Ope Time out properties on the Binding Information of the WCF service.




Regards,
Moustafa arafa