正如标题所说,我得到:
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) 当我尝试设置双工模式通道时,我已将文件传输服务从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) 我有几个与User课堂设计有关的问题,但它们不同,我认为它们应该是独立的问题.
所以,第一个与基类的继承有关.我目前继承两个类,ProfileBase并ISessionMgrEntry为这样的:
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对象.有没有人看到任何可能导致问题的原因?我在叮叮当当时出现的是重叠属性.例如,两者MembershipUser并ProfileBase分享" 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) 我在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) 我是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或我的类文件中添加其他内容吗?
提前致谢...
我想这样做:
<asp:HyperLink NavigateUrl='<%= WebContext.RootUrl %><%= WebContext.CurrentUser.UserName %>' runat="server" Text='<%= GetProfileImage(WebContext.CurrentUser.AccountId) %>'></asp:HyperLink>
Run Code Online (Sandbox Code Playgroud)
但我得到错误:
这不是scriptlet.将以纯文本格式输出.
当我把鼠标放在我的声明性陈述上时.
有任何想法吗?谢谢.
好吧,奇怪的事情发生在AWS上.
我下载了AWS .NET开发人员工具并创建了一个弹性beanstalk默认实例.然后,由于某种原因,我通过Visual Studio接口创建了另一个实例,该实例是所有客户端代码/配置所在的实例.然后我返回到弹性beanstalk创建的默认实例并终止它.一小时后,我重新登录,另一个默认实例启动并运行.似乎AWS检测到我终止了该实例,并催生了另一个实例.某种检查似乎已到位.有人可以告诉我这里发生了什么以及如何完全删除默认实例(及其终止保护行为)?
谢谢.
使用Fiddler测试WCF REST服务时,如何获取基本身份验证握手?
我对框架设计有一些一般性的问题.
我正在使用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调用功能.我的问题是,我应该将哪一层暴露给其他应用程序以及应该隐藏什么?
当我开始阅读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看起来很乱,并没有真正告诉程序员这个命名空间做了什么(但它是我读过的例子所建议的).这里有最好的做法吗?
您的建议(以及任何示例)都非常感谢.
谢谢.
就像标题所说,我有以下例外:
描述:事件代码: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# ×6
asp.net ×4
wcf ×2
amazon-ec2 ×1
api ×1
base64 ×1
declarative ×1
duplex ×1
fiddler ×1
hyperlink ×1
inheritance ×1
linq-to-sql ×1
namespaces ×1
net.tcp ×1
rest ×1
ssh ×1
structuremap ×1
ubuntu ×1
viewstate ×1