小编Pet*_*ter的帖子

Base-64 char数组的长度无效

正如标题所说,我得到:

Base-64 char数组的长度无效.

我已经在这里阅读了这个问题,似乎建议将ViewState存储在SQL中,如果它很大的话.我正在使用一个带有大量数据收集的向导,所以我的ViewState很可能很大.但是,在我转向"存储在数据库"解决方案之前,也许有人可以看看并告诉我是否有其他选择?

我使用以下方法构建了用于传递的电子邮件:

public void SendEmailAddressVerificationEmail(string userName, string to)
{
    string msg = "Please click on the link below or paste it into a browser to verify your email account.<BR><BR>" +
                    "<a href=\"" + _configuration.RootURL + "Accounts/VerifyEmail.aspx?a=" +
                    userName.Encrypt("verify") + "\">" +
                    _configuration.RootURL + "Accounts/VerifyEmail.aspx?a=" +
                    userName.Encrypt("verify") + "</a>";

    SendEmail(to, "", "", "Account created! Email verification required.", msg);
}
Run Code Online (Sandbox Code Playgroud)

Encrypt方法如下所示:

public static string Encrypt(string clearText, string Password)
{

    byte[] clearBytes = System.Text.Encoding.Unicode.GetBytes(clearText);

    PasswordDeriveBytes pdb = new PasswordDeriveBytes(Password, new …
Run Code Online (Sandbox Code Playgroud)

c# asp.net viewstate base64

80
推荐指数
4
解决办法
20万
查看次数

找不到与scheme net.tcp匹配的基址

当我尝试设置双工模式通道时,我已将文件传输服务从basicHttpBinding移动到netTcpBinding.我还启动了net.tcp端口共享服务.

我目前在dev并且在xp框上自我托管,直到我们将应用程序移动到开发服务器.所以,就目前而言,我无法访问IIS.

在配置我的服务之后:

<service behaviorConfiguration="transferServiceBehavior" name="API.FileTransfer.FileTransferService">
        <endpoint name="MyFileTransferEP"
                  address  = ""
                  binding  = "netTcpBinding"
                  bindingConfiguration="MyFileTransferNetTcpEP"
                  behaviorConfiguration="NetTcpEPBehavior"
                  contract="API.FileTransfer.IFileTransferService" />
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
        <host>
          <baseAddresses>
            <add baseAddress="net.tcp://localhost:8001/project/filetransfer.svc" />
          </baseAddresses>
        </host>
</service>
Run Code Online (Sandbox Code Playgroud)

而且,我的约束如下:

<netTcpBinding>
        <binding name="MyFileTransferNetTcpEP"
                 hostNameComparisonMode="StrongWildcard"
                 closeTimeout="00:01:00"
                 openTimeout="00:01:00" 
                 receiveTimeout="00:10:00" 
                 sendTimeout="00:01:00"
                 maxReceivedMessageSize="2147483647"
                 transferMode="Streamed"
                 portSharingEnabled="true">
          <security mode="None">
            <transport clientCredentialType="None" />
            <message clientCredentialType="None" />
          </security>
        </binding>
</netTcpBinding>
Run Code Online (Sandbox Code Playgroud)

当我正确浏览到SVC文件时,我得到了以下错误:

无法找到与绑定NetTcpBinding的端点匹配scheme net.tcp的基址.注册的基地址方案是[http].

在线阅读表明,为了解决这个问题,我需要将net.tcp绑定添加到IIS中应用程序的绑定.但是,如果我是自托管并且无法访问IIS,我该怎么办?顺便说一句,如果您正在阅读此内容并"执行"拥有IIS,请执行以下操作:右键单击IIS中的虚拟目录/应用程序 - >管理应用程序 - >高级设置.并且,在Enabled Protocols部分中,添加net.tcp.

有任何想法吗?


更新:我以为我有它工作,但它仍然无法正常工作.这是我现在拥有的:我仍然得到"找不到匹配scheme net.tcp的基地址"错误.我已经更改了所有基地址以反映您的建议.这就是我现在拥有的:

<service behaviorConfiguration="transferServiceBehavior" name="API.FileTransfer.FileTransferService">
            <endpoint name="MyJSONFileTransferEP"
                      address="json"
                      binding="webHttpBinding"
                      bindingConfiguration="jsonWeb"
                      behaviorConfiguration="WebHttpEPBehavior"
                      contract="API.FileTransfer.IJSONFileTransferService" />
            <endpoint name="MyPOXFileTransferEP"
                      address="pox"
                      behaviorConfiguration="WebHttpEPBehavior" …
Run Code Online (Sandbox Code Playgroud)

c# wcf duplex net.tcp

30
推荐指数
6
解决办法
7万
查看次数

试图继承三个基类而不能

我有几个与User课堂设计有关的问题,但它们不同,我认为它们应该是独立的问题.

所以,第一个与基类的继承有关.我目前继承两个类,ProfileBaseISessionMgrEntry为这样的:

public class User : ProfileBase, ISessionMgrEntry
Run Code Online (Sandbox Code Playgroud)

但是,我还想继承第三个类MembershipUser,如下所示:

public class User : ProfileBase, MembershipUser, ISessionMgrEntry
Run Code Online (Sandbox Code Playgroud)

但是,编译器不会让我这样做.为什么?而且,我该如何解决这个问题呢?

谢谢.

PS - ASP.NET 3.5/C#

编辑

你好.我认为以下解决方案可能适用于我想要实现的目标.看起来非常简单直接.我这样做,所以我可以创建一个完整/组合的User对象.有没有人看到任何可能导致问题的原因?我在叮叮当当时出现的是重叠属性.例如,两者MembershipUserProfileBase分享" UserName".我应该选择其中一个还是这个设计缺陷?建议?再次感谢.

 public class User
    {

        #region Constructors
            private readonly MembershipUser _MembershipUser;
            private readonly ProfileBase _ProfileBase;
        #endregion

        public User()
        {
            _MembershipUser = new MembershipUser();
            _ProfileBase = new ProfileBase();

        }

        public string Comment
        {
            get { return _MembershipUser.Comment as string; }
            set { …
Run Code Online (Sandbox Code Playgroud)

c# inheritance multiple-inheritance

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

尝试使用RSA密钥连接到EC2,获取:RSA1标识符不正确...权限被拒绝(公钥)

我在Amazon EC2上创建了一个Ubuntu 12.04实例.

我已经下载了PEM文件,并且能够SSH进入实例,没问题.

现在,我想在远程实例上为顾问等创建一些帐户.他们应该能够使用RSA密钥进入框中.在EC2机器上,我在〜/ home /中设置了几个帐户,并将它们分配给组管理员.我也给自己一个类似的帐户(MyTestAccount)进行测试.这就是我做的:

我使用key-gen在我的本地机器上的.ssh目录中创建公钥和私钥(〜/ .ssh):

drwx------  2 peter peter 1024 Sep 14 10:23 .ssh
Run Code Online (Sandbox Code Playgroud)

里面的文件:

-rw-------  1 peter peter 1675 Sep 14 10:23 id_rsa
-rw-------  1 peter peter  394 Sep 14 10:23 id_rsa.pub
-rw-------  1 peter peter  444 Sep 14 00:05 known_hosts
Run Code Online (Sandbox Code Playgroud)

然后,我将id_rsa.pub文件发送到远程EC2实例,并将其附加到远程实例中的.ssh/authorized_keys文件中.我的远程.ssh目录的权限:

drwx------ 2 ubuntu ubuntu 4096 Sep 16 16:13 .ssh
Run Code Online (Sandbox Code Playgroud)

和我的authorized_keys文件:

-rw-------  1 peter ubuntu  1179 Sep 14 00:05 authorized_keys
Run Code Online (Sandbox Code Playgroud)

接下来,我注销了我的远程实例,并尝试使用新密钥SSH到远程控制台.当我发出以下命令时:

peter@ubuntu:~/.ssh$ ssh -vvv MyTestAccount@ec2-XX-XXX-XX-XXX.compute-1.amazonaws.com 
Run Code Online (Sandbox Code Playgroud)

我得到以下内容.看起来我的私钥有问题吗?有什么建议?谢谢.

OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 Mar 2012
debug1: …
Run Code Online (Sandbox Code Playgroud)

ssh ubuntu amazon-ec2 amazon-web-services

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

StructureMap异常代码:202没有为PluginFamily定义的默认实例

我是StructureMap的新手.我已下载并使用的是2.6.1.0版.我一直收到以下错误:

StructureMap异常代码:202没有为PluginFamily Company.ProjectCore.Con.IConfiguration,Company.ProjectCore,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null定义的默认实例

我的Global.asax.cs看起来像:

protected void Application_Start(object sender, EventArgs e)
{

    var container = new Container(x =>
                    {
                        x.For<ICache>().Use<Cache>();
                        x.For<IEmailService>().Use<EmailService>();
                        x.For<IUserSession>().Use<UserSession>();
                        x.For<IRedirector>().Use<Redirector>();
                        x.For<INavigation>().Use<Navigation>();
                    });

                container.AssertConfigurationIsValid();

}
Run Code Online (Sandbox Code Playgroud)

我从ObjectFactory.Initialize更改为"new Container"进行调试.当单步执行AssertConfigurationIsValid()方法时,Cache可以工作,但EmailService在以下行中的GetInstance方法失败:

[Pluggable("Default")]
public class EmailService : IEmailService

private readonly IConfiguration _configuration;

public EmailService()
{
    _configuration = ObjectFactory.GetInstance<IConfiguration>();
}
Run Code Online (Sandbox Code Playgroud)

如果我删除IEmailService,IUserSession会抛出相同的202错误.

我应该在Application_Start或我的类文件中添加其他内容吗?

提前致谢...

c# structuremap asp.net

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

在asp:超链接中分配声明性值的问题.错误:这不是scriptlet.将以纯文本格式输出

我想这样做:

<asp:HyperLink NavigateUrl='<%= WebContext.RootUrl %><%= WebContext.CurrentUser.UserName %>' runat="server" Text='<%= GetProfileImage(WebContext.CurrentUser.AccountId) %>'></asp:HyperLink> 
Run Code Online (Sandbox Code Playgroud)

但我得到错误:

这不是scriptlet.将以纯文本格式输出.

当我把鼠标放在我的声明性陈述上时.

有任何想法吗?谢谢.

asp.net declarative hyperlink

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

AWS终止后自动生成新实例.

好吧,奇怪的事情发生在AWS上.

我下载了AWS .NET开发人员工具并创建了一个弹性beanstalk默认实例.然后,由于某种原因,我通过Visual Studio接口创建了另一个实例,该实例是所有客户端代码/配置所在的实例.然后我返回到弹性beanstalk创建的默认实例并终止它.一小时后,我重新登录,另一个默认实例启动并运行.似乎AWS检测到我终止了该实例,并催生了另一个实例.某种检查似乎已到位.有人可以告诉我这里发生了什么以及如何完全删除默认实例(及其终止保护行为)?

谢谢.

amazon-web-services amazon-elastic-beanstalk

19
推荐指数
1
解决办法
4816
查看次数

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

关于构造域驱动设计命名空间的一些问题

我对框架设计有一些一般性的问题.

我正在使用C#.NET(框架3.5)和SQL 2008(使用LINQ)为iPhone应用程序构建API.我遵循了Domain-Driven-Design模式(在一本书中)并具有以下文件夹结构:

Core
- DataAccess
--Impl
-Domain
-Impl
Run Code Online (Sandbox Code Playgroud)

Core是我的核心API库 - 我的DLL.DataAccess包含数据访问接口DataAccess.Impl包含存储库(LINQ to the DB)Domain包含我的大部分数据类型和属性.Impl包含我的服务(即AccountService.cs,EmailService.cs)

现在,作为练习,我已经为此项目添加了一个Windows服务,并尝试从此服务中的DLL调用功能.我的问题是,我应该将哪一层暴露给其他应用程序以及应该隐藏什么?

  • Impl文件夹中的服务类应该是程序员看到的吗?
  • 或者来自DataAccess.Impl的存储库?
  • 或者,我应该全力以赴让程序员看到吗?从现在看来,这似乎有点令人困惑.

当我开始阅读DDD时,我假设存储库将被服务类隐藏和访问,但我发现我需要在客户端调用两者的功能.我设计错了吗?

我的另一个问题是命名空间命名.当Windows服务从我的核心库调用功能时,我必须这样做我的包括:

using Company.Product.ProductCore.Core.DataAccess.Impl 
using Company.Product.ProductCore.Core.Domain 
using Company.Product.ProductCore.Core.Impl
Run Code Online (Sandbox Code Playgroud)

这看起来很罗嗦.看看微软的DLL,他们似乎遵循两层约定 - (System.Linq,System.Text等).让Company.Product.ProductCore.Core.Impl看起来很乱,并没有真正告诉程序员这个命名空间做了什么(但它是我读过的例子所建议的).这里有最好的做法吗?

您的建议(以及任何示例)都非常感谢.

谢谢.

c# api design-patterns domain-driven-design namespaces

10
推荐指数
2
解决办法
2862
查看次数

不允许在查询中显式构造实体类型[MyClass]

就像标题所说,我有以下例外:

描述:事件代码:3005事件消息:发生了未处理的异常.异常信息:异常类型:NotSupportedException异常消息:不允许在查询中显式构造实体类型"Company.Project.Core.Domain.Friend".

我正在使用LINQ to SQL并在我的datacontext中使用以下代码:

var friends2 = (
    from f in dc.Friends
    where f.MyFriendsAccountId == accountId
    where f.AccountId != accountId
    select new 
    {
        f.FriendId,
        AccountId = f.MyFriendsAccountId,
        MyFriendsAccountId = f.AccountId, 
        f.CreateDate,
        f.Timestamp
    }).Distinct();

result.AddRange(
    from o in friends2
    select new Friend()
    {
        FriendId = o.FriendId, 
        AccountId = o.AccountId, 
        CreateDate = o.CreateDate, 
        MyFriendsAccountId = o.MyFriendsAccountId, 
        Timestamp = o.Timestamp
    });
Run Code Online (Sandbox Code Playgroud)

最后的代码块抛出错误,我很确定这个声明是罪魁祸首:

.Select( o => **new Friend**
Run Code Online (Sandbox Code Playgroud)

我应该如何重新编写代码以避免此错误?

c# asp.net linq-to-sql

8
推荐指数
1
解决办法
7341
查看次数