Tag: 服务

安全地使用’HttpContext.Current.Cache’

我在这样的Web服务方法中使用Cache : var pblDataList = (List)HttpContext.Current.Cache.Get(“pblDataList”); if (pblDataList == null) { var PBLData = dc.ExecuteQuery(@”SELECT blabla”); pblDataList = PBLData.ToList(); HttpContext.Current.Cache.Add(“pblDataList”, pblDataList, null, DateTime.Now.Add(new TimeSpan(0, 0, 15)), Cache.NoSlidingExpiration, CacheItemPriority.Normal, null); } 但我想知道,这段代码是否是线程安全的? Web服务方法由多个请求者调用。 当缓存为空时,多个请求者可能会尝试检索数据并同时添加到Cache中。 查询需要5到8秒。 是否会围绕此代码引入锁定语句以防止任何可能的冲突? (我知道多个查询可以同时运行,但我想确保一次只运行一个查询。)

通过程序逻辑添加控制台

我有一个Windows服务。 如果我从调试器启动它,我想用控制台输出运行(因为你无法运行服务)。 通常,Windows服务设置为WindowApplication作为项目类型,并且没有“窗口”入口点。 因此它删除了旧的控制台。 如果需要控制台窗口,则需要将项目类型更改为ConsoleAppication。 我想在程序本身中执行此操作,而不是更改项目设置。 可能吗?

如何从服务C#捕获控制台输出?

我们有一个部署到远程客户系统的C#服务。 应用程序将大量“诊断”信息写入控制台(即Console.WriteLine())。 该服务不是“做它应该做的事”。 我们如何从另一个应用程序中的服务捕获控制台输出? WinForm版本可以在客户位置加载应用程序。 不幸的是,它正常运作。 更新: 我们可以更改服务的更改,但此时不希望进行重大更改。 我们也登录MSMQ,但仅限于“重要”事件。 此服务确实与MSMQ交互以进行正常操作。 或者,至少,它应该。 当WinForm版本的时候,该服务似乎没有从MSMQ中提取项目。 因此,编写发送到控制台的消息可能会有问题。

在.net中用于RESTful服务的框架

我知道有类似的问题已被提出,但大多数已经过时了。 所以我们再去:) 我需要为我们的应用程序实现一个完整的REST服务层。 我遇到的问题是哪个框架最能解决这个问题。 我只需要一个很好的框架,让我专注于问题而不是REST或任何需要的东西。 身份validation是必需的function。 以下是我的一些想法; 你怎么看? WCF:在我看来,这是一个重载的框架,使事情变得复杂。 ServiceStack:似乎是一个不错的,轻量级的开源替代品。 但如果他们决定停止开发呢? 使用像这样的 asp.net mvc自定义实现,但为什么要重新发明轮子呢?

如何使用Visual c#Express制作服务应用程序?

我已经构建了一个解析Xml文件的应用程序,用于在mssql数据库中集成数据。 我正在使用Visual c#express。 有一种方法可以使用快递版本进行服务,或者我必须让Visual Studio来完成它吗?

如何使用本地通知-Xamarin.Android调用服务中的BroadCastReceiver

我正在处理一个在预定时间工作的警报应用程序 ,我想让它在用户启动应用程序时工作(两者都有)。 这意味着应用程序将像通常的警报一样通知 现在,当我想在Service调用broadcastReceiver以便执行该操作时,我就到了这一点。 我注意到了什么: 1.当我使用Broadcast ,警报通知仅在我打开应用程序时出现。 2.当我使用Service ,警报仅在应用程序外部(当它未启动时)时出现,(这里我将我的代码放在OnStartCommand()中)。 所以当我打开或关闭应用程序时,我得出结论是添加它们来制作预定通知。 但我不知道怎么做 现在源代码如下。 以下是我的Service 。 namespace Diabetes.Droid.Resources { [Service] public class AppStickyService : Service { public override void OnCreate() { base.OnCreate(); System.Diagnostics.Debug.WriteLine(“Sticky Service – Created”); } public override StartCommandResult OnStartCommand(Android.Content.Intent intent, StartCommandFlags flags, int startId) { return StartCommandResult.Sticky; } public override Android.OS.IBinder OnBind(Android.Content.Intent intent) { System.Diagnostics.Debug.WriteLine(“Sticky […]

WCF数据服务 – 代理中间层服务

我们正在开发的项目是一个经典的3层架构。 第1层是数据库服务器,第2层是应用程序服务,第3层是表示层(网站)。 在应用程序服务层中,我有一个项目,其中包括entity framework模型和基于WCF数据服务的服务,该服务公开模型中的实体,例如: public class DataService : DataService 这是一个完全成熟的OData服务,可以通过URI查询,例如: /dataservice.svc/mytable?$filter=contains(fieldname,’string’) 。 这对于使用jQuery开发任何东西的人来说非常棒,因为他们所要做的就是定义查询。 问题是这项服务是中等级的,因此外界无法看到它。 我正在尝试的解决方案是在网站上公开另一个WCF数据服务,该服务公开由服务引用创建的实体。 如果我向中间层服务添加服务引用,它会为我提供一个数据上下文,在新的WCF数据服务中使用数据上下文: public class DataService : DataService 我必须覆盖CreateDataSource: protected override PortalEntities CreateDataSource() { return new PortalEntities(GetMianModelServiceUri()); } 新服务确实像代理一样运行并返回暴露的实体(查询…/Services/OData/DataService.svc/tbl_Country正常工作)。 但是当一个查询被传递给服务时,例如: …/OData/DataService.svc/tbl_Country?$select=Name它会抛出一个未实现的exception。 有关如何扩展网站服务以使其支持与中间层服务相同的查询的任何想法?

如何动态创建SSRS报告?

我试图在SSRS中创建一个报告。 该报告为其数据调用存储过程。 我想在表格中显示数据。 但问题是,存储过程的结果会不时发生变化,因为每个客户都有自己的“模板”。 这意味着客户A的结果可能是: AccountNumber | 顾客ID 1234567890 0987654321 1579086421 1234565465 …………………. ……………….. 而对于客户B可能是: 客户名称 | 地址 客户B Teststreet 1 客户测试测试街2 …………………. ……………….. 有50种不同的列可供选择。 列的顺序也是可编辑的。 我的存储过程负责这一点。 我唯一想要的是将storedprocedure的结果集1:1放在我的报告中(标题+正文)。 你们知道怎么做吗? 如果那不可能,那么有一个C#解决方案吗? 即在C#中创建报表对象,调整设置等。 谢谢

扩展基础移动azure样本(.net后端)

所以,我创建了一个azure色的移动服务,下载了一个项目并运行它。 第一次启动后,我在DB中看到一些新表: TodoItems (有2个项目)和_MigrationHistory 。 到现在为止还挺好。 现在,我想添加一个额外的表格。 我正在制作新模型MyModel:EntityData { public string MyData { get; set; } MyModel:EntityData { public string MyData { get; set; } 制作一个新的控制器MyModelController:TableController ,它是TodoItemController的副本,其中TodoItem被TodoItem取代 添加了public DbSet MyModels { get; set; } public DbSet MyModels { get; set; } 到MyProjectContext.cs 添加到WebApiConfig的行context.Set().Add(new MyModel{MyData= “test”}); 我忘了什么吗? 删除所有表并重新发布和运行我的移动应用程序后,我收到MobileServiceInvalidOperationExceptionexception,我的表为空(即使TodoItems为空)。 编辑 :我不确定问题的核心在哪里。 如果要向移动应用添加一行 private IMobileServiceTable myItemsTable = App.MobileService.GetTable(); […]

如何在类库项目中配置entity framework

我已经创建了一个类库项目,其中包含entity framework对象,该对象将负责我的多个项目的公共数据访问层。在将生成的dll文件添加到我的域项目并使用类库项目中的实体对象之后,我面临着以下问题。 在应用程序配置文件中找不到名为“ABC”的连接字符串。 我已将edmx的Metadata Artifact处理属性设置为Embed in Output Assembly App.Config标记 实体代码如下 public ABC_IntegrationEntities() : base(“name=ABC”) { } 我从datadirectiory“App_Data”访问数据库还有一件事 我正在引用dotnetcurry.com上的博客。 http://www.dotnetcurry.com/showarticle.aspx?ID=617 提前致谢!