73 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.Linq;
 | |
| using System.Web;
 | |
| using System.ServiceModel;
 | |
| using WcfServiceAuthentication;
 | |
| using DeiNiu.Utils;
 | |
| using System.Net;
 | |
| 
 | |
| namespace DeiNiu.Wcf
 | |
| {
 | |
|     public class basicService
 | |
|     {
 | |
|         protected static log4net.ILog log = log4net.LogManager.GetLogger("logCommon");
 | |
|         private int operId = 0;
 | |
|         protected string token = "";
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 字典立即生效,逻辑对象会重新实例化
 | |
|         /// </summary>
 | |
|        // protected static bool isDicReset = false;
 | |
| 
 | |
|         protected int getOperId()
 | |
|         {
 | |
|             /*
 | |
|             if (operId > 0) //wince set auth in the each function
 | |
|             {
 | |
|                 return operId;
 | |
|             }
 | |
|             */
 | |
|             try
 | |
|             {
 | |
|                // LogHelper.debug(this.GetType(), " Service class initialized., operId was " + operId);
 | |
|                 operId = OperationContext.Current.IncomingMessageHeaders.GetHeader<int>("UserId", "www.deinu.com");//wince won't have custom heads
 | |
|               //  LogHelper.debug(this.GetType(), " Service class initialized., operId is " + operId);
 | |
| 
 | |
|                 return operId;
 | |
|             }
 | |
|             catch
 | |
|             {
 | |
| 
 | |
| 
 | |
|             }
 | |
|             try
 | |
|             {
 | |
|                
 | |
|                 WebHeaderCollection headerCollection = System.ServiceModel.Web.WebOperationContext.Current.IncomingRequest.Headers;
 | |
|                 foreach (string item in headerCollection)
 | |
|                 {
 | |
|                     if (item == "UserId")
 | |
|                     {
 | |
|                         operId = Convert.ToInt32(headerCollection.Get(item));
 | |
|                         break;
 | |
|                     }
 | |
|                        
 | |
|                     
 | |
|                 }
 | |
|                  
 | |
|             }
 | |
|             catch
 | |
|             {
 | |
| 
 | |
| 
 | |
|             }
 | |
|            
 | |
| 
 | |
|             return operId;
 | |
|         }
 | |
|        
 | |
|        
 | |
| 
 | |
|     }
 | |
| } |