我正在开发一个旧的WCF服务,它为许多系统提供了许多接口和服务.我想更改函数的返回类型而不更改所有服务接口和实现,如下所示:
interface OperationResult
{
ErrorInfo Error { get; set; }
}
interface OperationResult<TResult> : OperationResult
{
TResult Result { get; set; }
}
// old service
interface IService
{
int TestMethod1(TestMethod1Input input);
void TestMethod2(TestMethod2Input input);
}
// Interface that client should see
interface IService
{
OperationResult<int> TestMethod1(TestMethod1Input input);
OperationResult TestMethod2(TestMethod2Input input);
}
Run Code Online (Sandbox Code Playgroud)
我想我可以处理的异常IOperationInvoker,但我不知道改变返回实际服务的价值如何,我想用改变函数的返回类型的WSDL IWsdlExportExtension.但我找不到任何好的文档或样本.
任何人都可以建议任何样本或文档或任何其他方式可以省去更改太多现有服务的麻烦吗?
注意:我有另一种方法,通过创建一个自定义ServiceHost,为实际服务创建一个动态包装,并将其作为服务类型传递给构造函数ServiceHost.但这应该是最后的解决方案,因为它将生成许多动态类型.
我正在使用一个使用NHibernate 3和弹簧进行DI的旧系统,我必须对此解决方案进行一些重构.该解决方案的一些项目是使用NHibernate 1.2,我将它们更改为NHibernate 3.现在,整个解决方案中使用的唯一版本的NHibernate是3.
现在问题是当我尝试在解决方案中加载任何Web服务时,系统尝试从NHibernate 1.2加载一个类型,我已经在另一个系统中测试了已发布的项目并且它工作正常,它应该是一个问题我的系统,它只是给我:无法从程序集'NHibernate,Version = 1.2.1.4000,Culture = neutral,PublicKeyToken = aa95f207798dfdb4'加载类型'NHibernate.Event.ListenerType'.
任何人都可以帮我找出为什么CLR试图从一个未引用的程序集加载一个类型?
我是VB的新手,我想继承DataGridView,我使用类似的东西
Public Class DataGridViewEx Inherits DataGridView
End Class
Run Code Online (Sandbox Code Playgroud)
但是编译器在End of statement expected指向时会生成错误Inherits DataGridView.有什么不对,我应该怎么做?
我正在编写一个应该在某些事件上创建文件的跨平台应用程序,现在我遇到了问题,如果我的目标是在可移动磁盘或网络驱动器上我想首先在本地硬盘驱动器上的临时文件夹中创建该文件然后将其移动到目标以避免在删除目标路径时丢失数据.
现在我的问题是我应该如何在跨平台方法中指出路径的类型?
我有一个包含非常大的表的数据库(其中一些可能有超过1,000,000条记录),并且该数据库的每个用户都应该看到一些这样的数据,因此我们有多个获得用户ID的TVF(表值函数)并选择那些该用户可见的表的记录(此操作需要多个SELECT语句,我认为调用TVF远比在代码中实现它好得多).在我的客户程序的第一个版本中,我有一个类IQueryable,它具有使用LinqToSql实现的多个类型的属性,并且它工作得很好.现在我有一个客户端想要使用我的程序集来编写WCF数据服务,所以我必须编写一个派生自DbContext(使用EF)的类,可以在指定的服务中使用.我的问题是:
DbContext自动公开DbSet其中定义的所有属性,因此每个具有最低访问级别的用户都可以看到表的整个数据(当然客户端应用程序将限制数据,但客户端可以直接访问数据,甚至可以将这些数据导入到Excel或Access中的OData)
我有多个类型的公共属性,IQueryable但它们不会出现在WCF数据服务公开的数据列表中.
为了解决这个问题,我认为最完整的解决方案是能够将TVF称为表并从中创建一个集合.但我不知道该怎么做?!
注意 对数据库的任何更改都需要一些日志记录,因此我有存储过程来执行这些更改,因此我只需要对我的WCF数据服务的只读访问权限,并且我不希望默认设置包含在表中发布的表的所有记录.服务
我正在使用EF 5和.NET 4.5,我已经为我的数据库创建了一个模型并将我的函数导入到模型中,我可以成功导入TVF和SP但是我无法导入具有标量返回值的函数.有没有可能与设计师或我应该手动编辑edmx文件?
我有一个窗口,显示多个工作线程的结果,但我的工作线程应该没有中断(几乎),所以我想将我的通知数据发布到主窗口,我目前正在使用,BeginInvoke但它有一个问题!我应该打电话,EndInvoke但在哪里?我应该创建另一个线程来为此服务?另一种选择是PostMessage直接使用,但由于我正在学习使用,.NET我更喜欢.NET解决方案而不是平台调用(如果可用).那么我该怎么做才能在不阻塞我的工作线程的情况下将内容发布到主线程?
我有一组属性,其中一些有privatesetter,其中一些有internalsetter.有没有办法在运行时我可以检查属性的setter是否是internal?
c# ×6
.net ×1
asp.net ×1
c++ ×1
nhibernate ×1
spring.net ×1
vb.net ×1
wcf ×1
web-services ×1
winforms ×1