static void Main(string[] args) { // 日志 LogHelper.SetLogProvider(new NLogProvider()); LogHelper.Debug("fdsfds", new Exception()); //缓存 CacheHelper.SetCacheProvider(new MemoryCacheProvider()); CacheHelper.Set("aa", "sss"); var ss = CacheHelper.Get("aa"); Console.WriteLine(ss); //IOC IocHelper.SetIocProvider(new AutofacProvider()); var test1 = IocHelper.GetInstance <Test1>(); Console.WriteLine(test1.GetTest()); //Json JsonSerializerHelper.SetJsonProvider(new FastJsonProvider()); ss = test1.TestJson(); Console.WriteLine(ss); Console.ReadKey(); }
void QueryTicket() { #region--参数检测 rtbTip.Text = string.Empty; ResourceManager rm = Lang.ResourceManager; List<string> nullItem = new List<string>(); if (string.IsNullOrEmpty(ticketParam.from_station)) { nullItem.Add(rm.GetString(langTipFix + cmbBeginStation.Tag)); } if (string.IsNullOrEmpty(ticketParam.to_station)) { nullItem.Add(rm.GetString(langTipFix + cmbToStation.Tag)); } if (nullItem.Count > 0) { List<string> requireItem = new List<string>(); requireItem.Add(rm.GetString(langTipFix + cmbBeginStation.Tag)); requireItem.Add(rm.GetString(langTipFix + cmbToStation.Tag)); rtbTip.Text = string.Format(Lang.Tip_12306_QueryTicketIsRequired, string.Join(",", requireItem), string.Join(",", nullItem)); return; } #endregion string url = InitQueryTicketParam(ticketParam); string json = HttpClientExtend.HttpClientGet(url); LoggerWriter.CreateLogFile(json, LogDir, ELogType.DataLog, DateTime.Now.ToString(CommonFormat.DateTimeIntFormat) + ".txt"); leftTicketDTOResponse response = json.ConvertObject<leftTicketDTOResponse>();//不能序列化字典 JObject jr = JObject.Parse(json); JObject jd = (JObject)jr["data"];//字典为data下数据 map //由于json序列化时不能将节点下的字典型json串进行逆序列化,次出使用中转形式先读取取字典内容,在填充到对象 JObject jdic = (JObject)jd["map"]; Dictionary<string, string> _Data = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, string>>(jdic.ToString()); if (response != null && response.data != null) { response.data.map = _Data; } //leftTicketDTOResponse responseNew= Newtonsoft.Json.JsonConvert.DeserializeObject<leftTicketDTOResponse>(json); /* * Newtonsoft 其他信息: Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.String[]' because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly. */ foreach (var item in response.data.result) { GetCarTicket(item, response); } //存储列车座位信息 //反射时构造函数没有提供参数可以进行创建 ISyncTicketDataManage sync = IocHelper.CreateObjectCtorWithParam<ISyncTicketDataManage>( new object[]{AppCategory.WinApp,"Conn" }, typeof(SyncTicketDataManage).Name, "TicketData.Manage", "CaptureManage.AppWin",//此为程序集,而不是命名空间 NowAppDirHelper.GetNowAppDir(AppCategory.WinApp)); //由于实现类中对于构造函数存在参数限定,此处需要特殊参数的传递 sync.SaveCarWithSeatData(response); //读取列车过站信息 //存储列车过站信息,绘制运动轨迹图 }
private void EmailSender_OnClick(object sender, RoutedEventArgs e) { var before = EmailSender.Header; try { EmailSender.Header = "Подаждите идет загрузка"; IocHelper.ToggleToXml(); Task task1 = Task.Factory.StartNew(() => { this.Dispatcher.Invoke((Action)(() => { EmailSender.IsEnabled = false; })); Try(() => EmailService.Instance.SendMail("*****@*****.**", "Говно", "Получи говно"), () => this.Dispatcher.Invoke((Action)(() => { EmailSender.IsEnabled = true; EmailSender.Header = before.ToString(); }))); }); } catch (Exception ex) { ShowMessage(ex.Message, "Ошибка", MessageBoxImage.Error); } }
public ActionResult SaveAvatar() { try { var file = CommonHelper.Instance.TempFiles.LastOrDefault(); if (file != null) { var user = CommonHelper.Instance.CurrentUser; user.Avatar = file.ImageData; var helper = new IocHelper(); helper.UserService.UpdateUser(user); CommonHelper.Instance.TempFiles = new List <ImageResult>(); return(Json(true, JsonRequestBehavior.AllowGet)); } else { throw new Exception("Аватар не был изменен"); } } catch (Exception e) { throw new HttpException(500, e.Message); } }
public ActionResult GetPanel() { try { var helper = new IocHelper(); var res = helper.ArticleService.GetAllArticles(c => c.ArticleName); var list = new List <ForPanel>(); Func <IEnumerable <Tag>, string> define = (items) => { return ("[{0}]".Fmt(string.Join(",", items .OrderByDescending(c => c.Priority) .Select(c => string.Format("{0}{5}Name{5}:{5}{1}{5},{5}TagColor{5}:{5}{2}{5},{5}Priority{5}:{5}{3}{5}{4}", "{", c.Name, c.TagColor, c.Priority, "}", "'"))))); }; if (res != null) { list = res.Select(article => new ForPanel { Id = article.ArticleId, Name = article.ArticleName, Rate = article.Rate, CountOfImages = article.Images.Count, CreationDate = article.CreationDate, Tags = define(article.Tags) }).OrderBy(c => c.Name).ToList(); } return(Json(list, JsonRequestBehavior.AllowGet)); } catch (Exception e) { throw new HttpException(500, e.Message); } }
public FileResult ExprortCurrentFromDb(string articleId, string articleName) { try { if (IocHelper.CurrentToggle != "db") { throw new Exception("Экспорт возможен только из БД"); } var helper = new IocHelper(); int currentId = 0; int.TryParse(articleId, out currentId); using (var memoryStream = new MemoryStream()) { using (var archive = new ZipArchive(memoryStream, ZipArchiveMode.Create, true)) { var demoFile = archive.CreateEntry("{0}.xml".Fmt(articleName), CompressionLevel.Optimal); using (var entryStream = demoFile.Open()) using (var streamWriter = new StreamWriter(entryStream)) { streamWriter.Write(helper.ArticleService.ExportFromDb(currentId)); } } memoryStream.Seek(0, SeekOrigin.Begin); return(File(memoryStream.ToArray(), "application/zip", "{0}.zip".Fmt(articleName))); } } catch (Exception e) { throw new HttpException(500, e.Message); } }
public ActionResult SaveToDb(int?articleId) { try { if (articleId.HasValue) { var helper = new IocHelper(); helper.ToggleToXml(true); var artilce = helper.ArticleService.GetArticleById(articleId.Value); var group = helper.GroupService.GetAllGroups(c => c.GroupId).FirstOrDefault(c => c.Groups.Contains(artilce.ArticleName)); artilce.ArticleGroup = new ArticleGroup { GroupName = group == null ? "Без группы" : group.GroupName }; helper.ToggleToDb(true); helper.ArticleService.SaveArticle(artilce); helper.ToggleToXml(true); return(Json(true)); } else { throw new Exception("Статьи не существует"); } } catch (Exception e) { throw new HttpException(500, e.Message); } }
/// <summary> /// 检查设备标识 /// </summary> /// <returns> /// 0:表示通过验证,可以继续 /// 1:令牌为空 /// 2:令牌是伪造的 /// </returns> private int CheckDeviceId(HttpRequestMessage request, string token) { if (string.IsNullOrWhiteSpace(token) || token.Contains('.') || token.Length <= 33) { return(ErrorCode.DenyAccess); } for (var index = 1; index < token.Length; index++) { var ch = token[index]; if ((ch >= '0' && ch <= '9') || (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') || ch == '_') { continue; } return(ErrorCode.DenyAccess); } var checker = IocHelper.Create <IBearValidater>(); ApiResult <LoginUserInfo> result; try { result = checker.ValidateDeviceId(token); } catch (Exception e) { LogRecorder.Exception(e); return(0); //ErrorCode.Auth_Device_Unknow; } if (!result.Result) { return(result.Status.ErrorCode); } CreateApiContext(result.ResultData, token); LogRecorder.MonitorTrace("Authorization:匿名用户"); return(0); }
/// <summary> /// 还原调用上下文 /// </summary> private int RevertCallContext(HttpRequestMessage request, string token) { //if (request.Headers.UserAgent.ToString() != "Yizuan.Service.WebApi.WebApiCaller") // return ErrorCode.DenyAccess; //for (var index = 1; index < token.Length; index++) //{ // var ch = token[index]; // if ((ch >= '0' && ch <= '9') || (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') || ch == '-') // continue; // return ErrorCode.DenyAccess; //} ApiContext context; using (var proxy = new RedisProxy()) { var key = ApiContext.GetCacheKey(token); context = proxy.Get <ApiContext>(key); proxy.RemoveKey(key); } if (context?.Request == null || context.LoginUser == null) { //return ErrorCode.DenyAccess; ApiContext.TryCheckByAnymouse(); return(0); } var checker = IocHelper.Create <IBearValidater>(); var result = checker.ValidateServiceKey(context.Request.ServiceKey); if (!result.Result) { return(result.Status.ErrorCode); } ApiContext.SetContext(context); return(0); }
public async Task Filters_Should_Change_Final_Response_After_All_Handlers_Executed() { var sut = IocHelper.GetRequestBus(sc => { sc.AddTransient <IResponseHandlerAsync <TestRequest, TestResult>, MainResponseHandler>(); sc.AddTransient <IResponseHandlerAsync <TestRequest, TestResult>, DependentResponseHandler>(); sc.AddTransient <IResponseFilterAsync <TestRequest, TestResult>, ResponseFilter>(); sc.AddTransient <IResponseFilterAsync <TestRequest, TestResult>, ResponseFilterNotApplicable>(); }); var request = new TestRequest { Name = "Ruhul" }; var rsp = await sut.ResponsesAsync <TestRequest, TestResult>(request); var mainRsp = rsp.MainResponse(); var others = rsp.OtherResponses().ToArray(); mainRsp.ShouldNotBeNull(); mainRsp.IsSucceed.ShouldBe(true); others.Length.ShouldBe(2); others.ShouldContain(x => x.Value.Message == $"{request.Name} filtered by {nameof(ResponseFilter)}"); }
public async Task Should_Return_Collection_Of_Responses_From_All_Applicable_Handlers() { var sut = IocHelper.GetRequestBus(sc => { sc.AddTransient <IResponseHandlerAsync <TestRequest, TestResult>, DependentResponseHandler>(); sc.AddTransient <IResponseHandlerAsync <TestRequest, TestResult>, IndependentResponseHandler>(); sc.AddTransient <IResponseHandlerAsync <TestRequest, TestResult>, MainResponseHandler>(); sc.AddTransient <IResponseHandlerAsync <TestRequest, TestResult>, DependentNonApplicableResponseHandler>(); }); var request = new TestRequest { Name = "Ruhul" }; var rsp = await sut.ResponsesAsync <TestRequest, TestResult>(request); var mainRsp = rsp.MainResponse(); var others = rsp.OtherResponses().ToArray(); mainRsp.ShouldNotBeNull(); others.Length.ShouldBe(2); mainRsp.IsSucceed.ShouldBe(true); others.ShouldAllBe(x => x.IsSucceed); others.ShouldAllBe(x => x.Value != null); mainRsp.Value.Message.ShouldBe($"{request.Name} : handled by {nameof(MainResponseHandler)}"); others.ShouldContain(x => x.Value.Message == $"{request.Name} : handled by {nameof(DependentResponseHandler)}"); others.ShouldContain(x => x.Value.Message == $"{request.Name} : handled by {nameof(IndependentResponseHandler)}"); others.ShouldNotContain(x => x.Value.Message == $"{request.Name} : handled by {nameof(DependentNonApplicableResponseHandler)}"); }
public async Task <FileContentResult> GetImageByArticleIdAndImageId(string articleID, string imageID, string size = null) { int articleIdCurrent, imageIdCurrent; var maybeArticleId = articleID.MaybeAs <string>().Bind(c => c.Split('-').Skip(1).Take(1).Last()).GetOrDefault(""); var maybeImageId = imageID.MaybeAs <string>().Bind(c => c.Split('-').Skip(1).Take(1).Last()).GetOrDefault(""); var maybeSize = size.MaybeAs <string>().Bind(c => c.Split('-').Skip(1).Take(1).Last()).GetOrDefault(""); int.TryParse(maybeArticleId, out articleIdCurrent); int.TryParse(maybeImageId, out imageIdCurrent); var helper = new IocHelper(); if (CommonHelper.Instance.CurrentArticle.ArticleId != articleIdCurrent) { CommonHelper.Instance.CurrentArticle = helper.ArticleService.GetArticleById(articleIdCurrent); } var images = CommonHelper.Instance.CurrentArticle.Images.Select(x => new ImageResult { ImageData = x.Data, Id = x.ImageId }); var result = images.FirstOrDefault(c => c.Id == imageIdCurrent); var reworkedImage = CommonHelper.Instance.DefineSizeOfImage(maybeSize, result); return(await Task.Factory.StartNew(() => File(reworkedImage.MaybeAs <ImageResult>().Bind(c => c.ImageData).GetOrDefault(null), "image/gif"))); }
/// <summary> /// Create a new unit of work scope. /// </summary> public UnitOfWorkScope(bool isTransactional) { //There is already a uow, do nothing if (Current != null) { return; } //this scope started the uow _isStartedByThisScope = true; _unitOfWorkWrapper = IocHelper.ResolveAsDisposable <IUnitOfWork>(); Current = _unitOfWorkWrapper.Object; try { Current.Initialize(isTransactional); Current.Begin(); } catch { Current = null; _unitOfWorkWrapper.Dispose(); throw; } }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.Configure <CookiePolicyOptions>(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request. options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); services.AddMvc(); IocHelper.AddSingleton <PlanManage>(); ZeroApplication.RegistZeroObject <ApiCounter>(); ZeroApplication.RegistZeroObject <PlanSubscribe>(); ZeroApplication.RegistZeroObject <EventSub>(); ZeroApplication.Initialize(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); //.AddJsonOptions(options => // { // //忽略循环引用 // options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; // //不使用驼峰样式的key // options.SerializerSettings.ContractResolver = new DefaultContractResolver(); // //设置时间格式 // options.SerializerSettings.DateFormatString = "yyyy-MM-dd"; // }); }
/// <summary> /// 初始化,必须先调用 /// </summary> public static void InitializeBase(bool bear) { if (IsInitialize) { return; } IocHelper.Update(); IocHelper.AddScoped <GlobalContext, BusinessContext>(); IocHelper.AddSingleton <IZeroPublisher, ZeroNetBridge>(); IocHelper.AddSingleton <IGlobalContext, BusinessContext>(p => BusinessContext.Context); IocHelper.Update(); Environment.CurrentDirectory = ConfigurationManager.BasePath = HttpContext.Current.Server.MapPath("~"); LogRecorder.Initialize(); LogRecorder.SystemLog("启动"); LogRecorder.GetRequestIdFunc = () => RandomOperate.Generate(8); GlobalConfiguration.Configuration.MapHttpAttributeRoutes(new CustomDirectRouteProvider()); HttpHandler.Handlers.Add(new CorsHandler()); HttpHandler.Handlers.Add(new HttpIoLogHandler()); if (bear) { HttpHandler.Handlers.Add(new BearerHandler()); } IsInitialize = true; }
private static void PerformUow(IInvocation invocation, bool isTransactional) { using (var unitOfWork = IocHelper.ResolveAsDisposable <IUnitOfWork>()) { try { UnitOfWorkScope.Current = unitOfWork.Object; UnitOfWorkScope.Current.Initialize(isTransactional); UnitOfWorkScope.Current.Begin(); try { invocation.Proceed(); UnitOfWorkScope.Current.End(); } catch { try { UnitOfWorkScope.Current.Cancel(); } catch { } //Hide exceptions on cancelling throw; } } finally { UnitOfWorkScope.Current = null; } } }
/// <summary> /// 检查旧标识 /// </summary> /// <returns> /// 0:表示通过验证,可以继续 /// 1:令牌为空 /// 2:令牌是伪造的 /// </returns> int CheckServiceKey() { InternalCallContext context; try { context = JsonConvert.DeserializeObject <InternalCallContext>(token); } catch (Exception e) { LogRecorder.Exception(e); return(2); } var checker = IocHelper.Create <IBearValidater>(); var result = checker.ValidateServiceKey(context.ServiceKey.ToString()); if (!result.Result) { return(result.Status.ErrorCode); } if (context.UserId > 0) { var user = checker.GetUserProfile(context.UserId); if (!user.Result) { return(user.Status.ErrorCode); } ApiContext.SetCustomer(user.ResultData); } ApiContext.SetRequestContext(context); return(0); }
public ActionResult SaveNewGroup(string group) { try { var helper = new IocHelper(); var res = IocHelper.CurrentToggle == "xml" ? helper.GroupService.GetGroupsByParams(c => c.GroupName == group, c => c.GroupId, 0, 1).FirstOrDefault() : helper.GroupService.GetAllGroups(c => c.GroupId).FirstOrDefault(c => c.GroupName == group); if (res != null) { throw new Exception(string.Format("Группа \"{0}\" уже существует", group)); } var groupArticle = new ArticleGroup { GroupName = group, Groups = new List <string>() }; helper.GroupService.SaveGroup(groupArticle); return(Json(true)); } catch (Exception e) { throw new HttpException(500, e.Message); } }
public ActionResult Import(HttpPostedFileBase[] files) { try { var buffer = new byte[files.First().ContentLength]; if (!files.First().ContentType.Contains("xml")) { throw new Exception("Не верный тип файла " + files.First().ContentType); } files.First().InputStream.Read(buffer, 0, files.First().ContentLength); var isDb = IocHelper.CurrentToggle == "db"; var helper = new IocHelper(); var unmatched = helper.ArticleService.Import(isDb, buffer); var stringBuilder = new StringBuilder(); if (unmatched.Count == 0) { stringBuilder.Append("Импорт прошел успешно"); } else { foreach (var res in unmatched) { stringBuilder.Append(string.Format("{0}.<br>", res)); } } return(Json(stringBuilder.ToString(), JsonRequestBehavior.AllowGet)); } catch (Exception e) { throw new HttpException(500, e.Message); } }
public ActionResult GetArticleById(string articleID) { try { var maybeId = articleID.MaybeAs <string>().Bind(c => c.Split('-').Skip(1).Take(1).Last()).GetOrDefault(""); int currentId; int.TryParse(maybeId, out currentId); var helper = new IocHelper(); CommonHelper.Instance.CurrentArticle = helper.ArticleService.GetArticleById(currentId); var dto = new ArticleDto(CommonHelper.Instance.CurrentArticle); var groups = helper.GroupService.GetAllGroups(c => c.GroupName, 0, 999).ToList(); if (IocHelper.CurrentToggle == "xml") { dto.Group = groups.FirstOrDefault(c => c.Groups.FirstOrDefault(x => x == dto.ArticleName) != null) .MaybeAs <ArticleGroup>() .Bind(c => c.GroupName) .GetOrDefault(null); } return(Json(dto, JsonRequestBehavior.AllowGet)); } catch (Exception e) { throw new HttpException(500, e.Message); } }
static DbFactory() { _dbrepositoryContainer = new IocHelper(); _dbrepositoryContainer.RegisterType <IRepository, SqlServerRepository>(DatabaseType.SqlServer.ToString()); _dbrepositoryContainer.RegisterType <IRepository, MySqlRepository>(DatabaseType.MySql.ToString()); _dbrepositoryContainer.RegisterType <IRepository, PostgreSqlRepository>(DatabaseType.PostgreSql.ToString()); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { #region iochelper IocHelper.ServiceCollection.Configure <HisOptions>(Configuration.GetSection(nameof(HisOptions))); IocHelper.AddScoped <IHisProxyInterface, HisSocketProxy>(); IocHelper.AddScoped <IHisProxyInterface, HisWebSvcProxy>(); IocHelper.AddScoped <ProxyFactory>(); IocHelper.AddScoped <IProxyService, ProxyService>(); ZeroApplication.Initialize(); #endregion #region standard //services.AddOptions(); //services.Configure<HisOptions>(Configuration.GetSection(nameof(HisOptions))); //services.AddScoped<IHisProxyInterface, HisSocketProxy>(); //services.AddScoped<IHisProxyInterface, HisWebSvcProxy>(); //services.AddScoped<ProxyFactory>(); //services.AddScoped<IProxyService, ProxyService>(); #endregion var i = new AutoRegister() as IAutoRegister; i.Initialize(); i.AutoRegist(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); //services.AddScoped<IFoo, Foo>(); }
public IActionResult Add() { try { var result = IocHelper.Create <PlanManage>().NewPlan(new ClientPlan { plan_type = (plan_date_type)GetIntArg("plan_type"), plan_value = GetShortArg("plan_value"), plan_repet = GetIntArg("plan_repet"), description = GetArg("description"), command = GetArg("command"), station = GetArg("station"), context = GetArg("context"), argument = GetArg("argument"), no_skip = GetBoolArg("no_skip"), plan_time = GetDateArg2("plan_time1"), skip_set = GetIntArg("skip_set") }); return(new JsonResult(result)); } catch (Exception ex) { return(new JsonResult(ApiResult.Error(ErrorCode.LocalException, ex.Message))); } }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { #region standard api services.AddOptions(); services.Configure <HospProxySettings>(Configuration.GetSection(nameof(HospProxySettings))); services.AddScoped <ITestService, TestService>(); //IocHelper.AddScoped<IHospProxyService, HospWebProxyService>(); //IocHelper.AddScoped<IProxyService, ProxyService>(); #endregion services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); #region zmq api IocHelper.ServiceCollection.Configure <HospProxySettings>(Configuration.GetSection(nameof(HospProxySettings))); IocHelper.AddScoped <ITestService, TestService>(); IocHelper.AddScoped <IHospProxyService, HospWebProxyService>(); IocHelper.AddScoped <IProxyService, ProxyService>(); ZeroApplication.Initialize(); var iar = new AutoRegister(); iar.Initialize(); iar.AutoRegist(); #endregion }
public ActionResult GetGroups() { try { var helper = new IocHelper(); var res = helper.ArticleService.GetAllArticles(c => c.ArticleName); var groups = helper.GroupService.GetAllGroups(c => c.GroupId); var lst = new List <ForGroupPanel>(); if (IocHelper.CurrentToggle == "xml") { var groupView = GroupHelper.Instance.GetXmlGroups(groups, res ?? new List <Article>()); lst = groupView.GroupViewItems.Select(c => new ForGroupPanel(c)).ToList(); } else { var groupView = GroupHelper.Instance.GetDbGroups(groups); lst = groupView.GroupViewItems.Select(c => new ForGroupPanel(c)).OrderBy(c => c.Name).ToList(); } return(Json(lst, JsonRequestBehavior.AllowGet)); } catch (Exception e) { throw new HttpException(500, e.Message); } }
public void Should_Return_Collection_Of_Responses_From_All_Applicable_Handlers() { var sut = IocHelper.GetRequestBus(sc => { sc.AddTransient <IResponseHandler <TestRequest, TestResult>, DependentResponseHandler>(); sc.AddTransient <IResponseHandler <TestRequest, TestResult>, IndependentResponseHandler>(); sc.AddTransient <IResponseHandler <TestRequest, TestResult>, MainResponseHandler>(); sc.AddTransient <IResponseHandler <TestRequest, TestResult>, DependentNonApplicableResponseHandler>(); }); var request = new TestRequest { Name = "Ruhul" }; var rsp = sut.Responses <TestRequest, TestResult>(request); rsp.MainResponse().IsSucceed.ShouldBe(true); rsp.MainResponse().Value.ShouldNotBeNull(); rsp.MainResponse().Value.Message.ShouldBe($"{request.Name} : handled by {nameof(MainResponseHandler)}"); rsp.OtherResponses().Count().ShouldBe(2); rsp.OtherResponses().ShouldContain(x => x.Value.Message == $"{request.Name} : handled by {nameof(DependentResponseHandler)}"); rsp.OtherResponses().ShouldContain(x => x.Value.Message == $"{request.Name} : handled by {nameof(IndependentResponseHandler)}"); rsp.OtherResponses().ShouldNotContain(x => x.Value.Message == $"{request.Name} : handled by {nameof(DependentNonApplicableResponseHandler)}"); }
private void UpdateToXml_OnClick(object sender, RoutedEventArgs e) { try { Article article; if (!_isGroupsVisible) { article = GetArticlesFromListBox().FirstOrDefault() ?? _viewingArticle; } else { article = TreeViewHelper.Instance.GetArticleFromTreeView(ArticleTreeView, Articles) ?? _viewingArticle; } if (!isXml) { IocHelper.ToggleToXml(); } if (article == null) { throw new Exception("Не выбран элемент для обновления."); } IocHelper.ArticleService.UpdateArticle(article); JustHelper.ToggleToRightSource(isXml); ShowMessage(string.Format("Статья \"{0}\" успешно обновлена в XML.", article.ArticleName)); } catch (Exception ex) { ShowMessage(ex.Message, "Ошибка", MessageBoxImage.Error); JustHelper.ToggleToRightSource(isXml); } }
/// <summary> /// 检查设备标识 /// </summary> /// <returns> /// 0:表示通过验证,可以继续 /// 1:令牌为空 /// 2:令牌是伪造的 /// </returns> private int CheckDeviceId(string token) { if (Request.RequestUri.LocalPath == "/v1/oauth/getdid") { return(ErrorCode.Success); } IBearValidater checker = IocHelper.Create <IBearValidater>(); ApiResult <LoginUserInfo> result; try { result = checker.ValidateDeviceId(token); } catch (Exception ex) { LogRecorder.Exception(ex); return(ErrorCode.Success); } if (!result.Success) { return(result.Status.ErrorCode); } CreateApiContext(result.ResultData, token); LogRecorder.MonitorTrace("Authorization:匿名用户"); return(ErrorCode.Success); }
static DbHelperFactory() { _container = new IocHelper(); _container.RegisterType <DbHelper, SqlServerHelper>(DatabaseType.SqlServer.ToString()); _container.RegisterType <DbHelper, MySqlHelper>(DatabaseType.MySql.ToString()); _container.RegisterType <DbHelper, PostgreSqlHelper>(DatabaseType.PostgreSql.ToString()); }
/// <summary> /// 重写拦截层 /// </summary> /// <param name="actionContext"></param> public override void OnAuthorization(HttpActionContext actionContext) { IUnityContainer unityContainer = new IocHelper("AuthorizationApi").GetUnityContainer(); IAuthorizationApplication authorizationApplication = unityContainer.Resolve <IAuthorizationApplication>(); bool flag = authorizationApplication.DoAuthorization(actionContext); var resultModel = authorizationApplication.TokenResult; if (flag) { IsAuthorized(actionContext); return; } ResponseBaseViewModel <string> responseView = new ResponseBaseViewModel <string>(); responseView.Flag = new ResponseCodeViewModel() { Code = (int)resultModel.Code, Message = "", MojoryToken = resultModel.Token }; actionContext.Response = new HttpResponseMessage { Content = new StringContent(Json.Encode(responseView), Encoding.UTF8, "application/json") }; }