小编Ani*_*ani的帖子

如果我设置HttpGetEnabled = false会发生什么

我对元数据发布概念感到困惑.

如果在WCF服务配置文件中我写了:

  <serviceMetadata httpGetEnabled="false"/>
Run Code Online (Sandbox Code Playgroud)

无论是真是假.当我尝试使用"添加服务引用..."在客户端应用程序中提供服务引用并单击"发现"时,我能够检索服务引用.

但删除以下两行: -

<endpoint address="mex" binding="mexBasicHttpBinding" contract="IMetadataExchange"/>

<serviceMetadata httpGetEnabled="false"/>
Run Code Online (Sandbox Code Playgroud)

如今后,当我试图给使用客户端应用程序引用"添加服务引用...",并点击"查看",我能够检索服务参考.

现在任何人都可以告诉我它究竟意味着什么.为什么在将其设置为False之后仍然允许设置参考.为什么在删除这些行之后它不允许设置引用.

-Anil

.net wcf binding metadata wcf-binding

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

拆分字符串并连接所有第一个元素然后连接第二个元素,依此类推c#

我有一个像这样的字符串 -

var roleDetails = "09A880C2-8732-408C-BA09-4AD6F0A65CE9^Z:WB:SELECT_DOWNLOAD:0000^Product Delivery - Download^1,24B11B23-1669-403F-A24D-74CE72DFD42A^Z:WB:TRAINING_SUBSCRIBER:0000^Training Subscriber^1,6A4A6543-DB9F-46F2-B3C9-62D69D28A0B6^Z:WB:LIC_MGR_HOME_REDL:0000^License Manager - Home use^1,76B3B165-0BB4-4E3E-B61F-0C0292342CE2^Account Admin^Account Admin^1,B3C0CE51-00EE-4A0A-B208-98653E21AE11^Z:WB:1BENTLEY_ISA_ADMIN:0000^Co-Administrator^1,CBA225BC-680C-4627-A4F6-BED401682816^ReadOnly^ReadOnly^1,D80CF5CF-CB6E-4424-9D8F-E29F96EBD4C9^Z:WB:MY_SELECT_CD:0000^Product Delivery - DVD^1,E0275936-FBBB-4775-97D3-9A7D19D3E1B4^Z:WB:LICENSE_MANAGER:0000^License Manager^1";
Run Code Online (Sandbox Code Playgroud)

用","分割它会返回 -

[0] "09A880C2-8732-408C-BA09-4AD6F0A65CE9^Z:WB:SELECT_DOWNLOAD:0000^Product Delivery - Download^1"
[1] "24B11B23-1669-403F-A24D-74CE72DFD42A^Z:WB:TRAINING_SUBSCRIBER:0000^Training Subscriber^1"
[2] "6A4A6543-DB9F-46F2-B3C9-62D69D28A0B6^Z:WB:LIC_MGR_HOME_REDL:0000^License Manager - Home use^1"
[3] "76B3B165-0BB4-4E3E-B61F-0C0292342CE2^Account Admin^Account Admin^1"    
[4] "B3C0CE51-00EE-4A0A-B208-98653E21AE11^Z:WB:1BENTLEY_ISA_ADMIN:0000^Co-Administrator^1"  
[5] "CBA225BC-680C-4627-A4F6-BED401682816^ReadOnly^ReadOnly^1"
[6] "D80CF5CF-CB6E-4424-9D8F-E29F96EBD4C9^Z:WB:MY_SELECT_CD:0000^Product Delivery - DVD^1"
[7] "E0275936-FBBB-4775-97D3-9A7D19D3E1B4^Z:WB:LICENSE_MANAGER:0000^License Manager^1"
Run Code Online (Sandbox Code Playgroud)

所有元素都包含克拉(^).所以用^符号进一步分割每个元素将返回四个元素.

但我想加入所有第一个元素然后所有第二个元素然后第三个,依此类推,得到如下结果 -

[0]: 09A880C2-8732-408C-BA09-4AD6F0A65CE9, 24B11B23-1669-403F-A24D-74CE72DFD42A, 6A4A6543-DB9F-46F2-B3C9-62D69D28A0B6, 76B3B165-0BB4-4E3E-B61F-0C0292342CE2, B3C0CE51-00EE-4A0A-B208-98653E21AE11, CBA225BC-680C-4627-A4F6-BED401682816, D80CF5CF-CB6E-4424-9D8F-E29F96EBD4C9, E0275936-FBBB-4775-97D3-9A7D19D3E1B4

[1]: Z:WB:SELECT_DOWNLOAD:0000,Z:WB:TRAINING_SUBSCRIBER:0000, Z:WB:LIC_MGR_HOME_REDL:0000,Account Admin, Z:WB:1BENTLEY_ISA_ADMIN:0000, ReadOnly, Z:WB:MY_SELECT_CD:0000, Z:WB:LICENSE_MANAGER

[2]: Product Delivery - Download, Training Subscriber, License …
Run Code Online (Sandbox Code Playgroud)

.net c# linq arrays

14
推荐指数
3
解决办法
1542
查看次数

什么是工人流程回收......?

  1. 我想知道什么是工人流程回收?
  2. 工人流程回收时究竟做了什么?
  3. 工作进程驻留在应用程序池中,可以通过应用程序池进行配置吗?
  4. 该应用程序池是否负责回收工作进程?或IIS负责回收它?
  5. 在回收工人流程时会发生什么?
  6. 不强迫它回收有什么影响?

.net c# iis-7 worker-process recycle

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

xslt本地化

我有以下xml文件: -

<?xml version="1.0" encoding="UTF-8"?> 
<directory> 
   <employee> 
      <name>Joe Smith</name> 
      <phone>4-0192</phone> 
   </employee> 
   <employee> 
      <name>Sally Jones</name> 
      <phone>4-2831</phone> 
   </employee> 
</directory>
Run Code Online (Sandbox Code Playgroud)

并关注xslt: -

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output method="html"/>
   <xsl:template match="directory">
      <div>List of Employee<xsl:value-of select="@directory"/>
      </div>
      <br/>
      <table>
        <tr>
          <td>Employee Name</td>
          <td>Contact Details</td>
        </tr>
        <xsl:apply-templates select="employee"></xsl:apply-templates>
      </table>

    </xsl:template>

    <xsl:template match="employee">
      <tr>
        <td>
           <xsl:value-of select="@name"/>
        </td>
        <td>
           <xsl:value-of select="@phone"/>
        </td>
      </tr>
    </xsl:template>

</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

我想本地化xslt文本:员工列表,员工姓名和联系人详细信息

如何本地化xslt文本?

c# xml xslt localization internationalization

9
推荐指数
1
解决办法
2077
查看次数

名为"DefaultApi"的路径已在路径集合中

这个问题可能看似重复,但这有点不同.在SO的所有其他问题中,我注意到他们注册了多条路线.但就我而言,我只有一条路线.

我正在创建asp.net webapi(框架4.5)并且在RegisterRoutes()方法中只有一个路由 -

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "DefaultApi",
            url: "rest/{controller}/{id}",
            defaults: new { id = UrlParameter.Optional }
        );

    }
Run Code Online (Sandbox Code Playgroud)

那为什么会抛出错误?

A route named 'DefaultApi' is already in the route collection. Route names must be unique. Parameter name: name
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-web-api asp.net-web-api-routing

7
推荐指数
3
解决办法
2万
查看次数

RequestInterceptor和MessageInspector有什么区别?

我在这里有两个问题: -

1)两者之间的基本区别是什么 Microsoft.ServiceModel.Web.RequestInterceptor and System.ServiceModel.Dispatcher.DispatchRuntime.MessageInspectors (IdispatchMessageInterceptor)

两者似乎都是请求/消息拦截器,可用于在请求管道中实现自定义验证/拦截器.

什么时候使用另一个?

2)亦如何插件RequestInterceptorRouteTable.Routes.Add(new ServiceRoute())

我有这样的课 -

public class AuthenticationInterceptor : RequestInterceptor
{
   //Authentication logic goes here......
}
Run Code Online (Sandbox Code Playgroud)

和这样的路线定义: -

RouteTable.Routes.Add(new ServiceRoute(routePrefix, new MyServiceHostFactory(container, (sh) => {
                foreach (System.ServiceModel.Dispatcher.ChannelDispatcher cd in sh.ChannelDispatchers)
                {
                    foreach (System.ServiceModel.Dispatcher.EndpointDispatcher ed in cd.Endpoints)
                    {
                        ed.DispatchRuntime.MessageInspectors.Add(new AuthenticationInterceptor());
                    }
                }
                return sh; })));
Run Code Online (Sandbox Code Playgroud)

这是以下定义MyServiceHostFactory: -

public MyServiceHostFactory(IocContainer container, Func<ServiceHost, ServiceHost> createservicehost = null);
Run Code Online (Sandbox Code Playgroud)

现在它抛出以下错误: -

The best overloaded method match for 'System.Collections.Generic.SynchronizedCollection<System.ServiceModel.Dispatcher.IDispatchMessageInspector>.Add(System.ServiceModel.Dispatcher.IDispatchMessageInspector)' has some invalid arguments …

c# asp.net wcf wcf-rest idispatchmessageinspector

7
推荐指数
1
解决办法
1828
查看次数

什么是封装?它是如何实际隐藏数据的?

搜索提出了一个简单的定义:数据隐藏.

但是,请考虑以下两个示例:

1)第一个例子:

Class Employee
{
    public int age;
}
Run Code Online (Sandbox Code Playgroud)

2)第二个例子:

Class Employee
{
    private int age;

    public int getAge(){return age;}
}
Run Code Online (Sandbox Code Playgroud)

问题:
在上述两个示例中,没有数据隐藏,age要么被其他人修改,要么被其他人查看.数据隐藏在哪里?封装如何帮助上面的例子?

.net oop encapsulation design-patterns hidden-field

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

如何使用数据创建Sybase表的副本?

我知道oracle中复制结构和数据的语句.

create table mytable1 as select * from mytable;
Run Code Online (Sandbox Code Playgroud)

但是如何在Sybase ASE中实现相同的功能呢?

sybase-ase

5
推荐指数
2
解决办法
3万
查看次数

SignalR for .net和Observer Pattern

到目前为止,我已经阅读了许多解释SignalR的文章.

搜索变成了一个简单的定义:SignalR可用于开发实时Web应用程序

根据维基:实时Web应用程序是一组技术和实践,使用户能够在作者发布信息后立即接收信息,而不是要求他们或他们的软件定期检查来源以获取更新.

似乎SignalR类似于观察者/发布者和订阅者模式,其中客户端订阅服务器,并且如果事件发生,则服务器将通知发送到所有客户端.

所以我的查询是:1)SignalR是否基于消息模式(即观察者/发布者和订阅者)?

2)如果是,那么为什么我们已经存在一个消息模式SignalR.

3)SignalR相对于消息模式有什么优势(观察者/发布者和订阅者)

.net c# design-patterns signalr

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

使用带有web api的wif

基于基于声明的WCF Restful Services认证,我收到了大量文章和SO问题,但我使用MVC Web API开发RESTful服务(不是WCF休息服务)......

那么请您帮助我了解如何使用基于声明的身份验证来保护RESTful服务?

这就是我需要的:

  1. 我有一个Web App和MVC4 Web-API服务
  2. 我们有STS
  3. MVC Web App信任STS
  4. 现在用户登录Web App,他被重定向到STS登录页面.
  5. 登录后,他将被重定向回MVC网站.
  6. 此Web应用程序调用Web-API服务.

现在,我一直被困在第4点.我们有RESTful服务,但需要实现WIF.

任何人都可以帮我这个.

注意:我不使用WCF Restservice,而是使用MVC Web API

.net c# rest asp.net-mvc-4 asp.net-web-api

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