小编Pid*_*ddu的帖子

什么是默认的WCF绑定?

我一直在努力解决这个问题,在这个过程中学习很多关于绑定的东西.但有一件事让我感到困惑:各种链接(例如,参见这个那个)明确说明"默认情况下,使用WsHttpBinding创建WCF项目",但这不是我所看到的.这就是我做的:

  1. 打开Visual Studio 2010并选择"新建项目/ Visual C#/ WCF服务应用程序"
  2. 不要触摸代码中的任何内容,为服务设置本地IIS Url(比如http:// localhost/WcfService7)
  3. 打开soapUI并选择File/New Soap UI Project /输入新创建的wsdl的URL:http://localhost/WcfService7/Service1.svc?wsdl,不触及任何其他选项
  4. 接口属性:SOAP版本= SOAP 1.1,绑定="BasicHttpBinding_IService1"(即使它只是一个名字,这是一个暗示的地狱)
  5. 打开Altova XmlSpy并选择SOAP/Create new SOAP Request /输入wsdl/select任意操作的url
  6. SOAP/Change SOAP Request参数/确保选中"Send as SOAP + XML(SOAP 1.2)"
  7. SOAP /发送请求到服务器:我得到错误

    HTTP错误:无法在服务器'localhost'上发布'/WcfService7/Service1.svc'文件(415)

    将soap数据发送到' http://localhost/WcfService7/Service1.svc '时出错HTTP错误:无法在服务器'10 .51.0.108上发布文件'/WcfService7/Service1.svc'(415)

有什么解释吗?谢谢

wcf wcf-binding

13
推荐指数
1
解决办法
1万
查看次数

如何在引用另一个嵌入式xsd的嵌入式xsd中使用include?

在我的Web应用程序中,我使用xsd文件作为嵌入式资源来验证Xml文档,这很容易使用assembly.GetManifestResourceStream(string).

我现在需要使用该include元素(我实际需要redefine,但我得到的错误是相同的,所以我在扩大问题的范围)在我的xsd之一引用另一个嵌入的xsd,所以我做的是:

  • 将以下行添加到项目的AssemblyInfo.cs中

    [assembly: System.Web.UI.WebResource("TurniArc.xml.schema.ImportOperatoriParametri.xsd", "text/xml", PerformSubstitution = true)]

    [assembly: System.Web.UI.WebResource("TurniArc.xml.schema.ProcessiInput.xsd", "text/xml", PerformSubstitution = true)]

  • 将"ImportOperatoriParametri.xsd"中的"include"元素修改为:

    <xs:include schemaLocation="<% = WebResource("TurniArc.xml.schema.ProcessiInput.xsd") %>">
    
    Run Code Online (Sandbox Code Playgroud)

当我不得不从嵌入式CSS引用嵌入图像时,这种技术很有用.遗憾的是,这里没有,因为GetManifestResourceStream方法抛出异常

'<', hexadecimal value 0x3C, is an invalid attribute character. Line 3, position 34.
Run Code Online (Sandbox Code Playgroud)

似乎没有设置"PerformSubstition"属性,因为它试图将schemaLocation的属性读作"常规"字符串.

我究竟做错了什么?谢谢

c# xsd embedded-resource

5
推荐指数
1
解决办法
870
查看次数

在Visual Studio 2012 RC中看不到Oracle Data Provider for .NET

我正在将一个Web应用程序移植到Entity Framework 4.5.我的主要目标是支持MSSQL和Oracle数据库,并能够以编程方式告诉ORM哪个数据源(在Global.asax中).SQL和Oracle模式显然在功能上是相同的; 这是我们已经在生产中使用的另一种ORM我们想要扔掉的方法.

注意:我们正在测试它的机器有Windows 8 Release Preview Build 8400 64位,Visual Studio Professional 2012 RC 11.0.50706.0和.NET framework 4.5.50501.它不是标准的开发机器(其他人有XP和7 w/Visual Studio 2010和.NET 4),但是我们用来测试这些新技术的新机器.我不知道这些新技术是否有问题,尚未在"标准"开发机上进行测试.

精简版

我将在下面详细解释这种情况,但主要问题是:

  1. 在"添加新的ADO.NET实体数据模型"向导中,我看不到我安装的ODP.NET数据提供程序(见下文),因此我无法从Oracle数据库创建模型.为什么?此外,在"关于Visual Studio"弹出窗口中,我没有看到列出的Visual Studio的Oracle Developer Tools.我担心Oracle开发人员工具无法正常工作,但Oracle Universal Installer表示所有内容都已正确安装(我重启了几次).
  2. 达到此要求的最佳做法是什么?

长版

首先,我们从SQL Server数据库创建了实体数据模型.到现在为止还挺好.

然后,我们从http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html安装了ODAC 11.2 Release 4和Oracle Developer Tools for Visual Studio(11.2.0.3.0).

我已经设法初始化我们的模型,SIAEntities(继承自 ObjectContext),具有:

            System.Data.EntityClient.EntityConnectionStringBuilder builder = new System.Data.EntityClient.EntityConnectionStringBuilder();
        builder.Metadata = "res://*/SIA.Models.SIAModelOracle.ssdl|res://*/Models.SIAModel.csdl|res://*/Models.SIAModel.msl";
        builder.ProviderConnectionString = "data source=***;persist security info=True;user id=***;password=***";
        builder.Provider = "Oracle.DataAccess.Client"; 
        SIAEntities db2 = new SIAEntities(builder.ConnectionString);
Run Code Online (Sandbox Code Playgroud)

其中SIA.Models.SIAModelOracle.ssdl是自定义写入文件(嵌入式资源),它覆盖.edmx的SSDL部分并进行以下修改:

  1. Provider根节点的属性 …

c# oracle entity-framework odp.net

2
推荐指数
1
解决办法
4万
查看次数